ajax 로 db조회후 값을 select 태그에 넣어주기(초보임)
*파일 이름 : list.skin.php
<script type="text/javascript">
function getBranch(domestic) {
var domestic;
alert(domestic);
$.ajax({
cache : false,
url : "/est_ajax_get_company.php",
data : "domestic=" + domestic,
dataType : "json",
success : function(o) {
$("#company").empty();
$("#company").append('<option value="">제조사</option>');
$.each(o, function(i, e) {
$("#company").append("<option value='"+e['brcode']+"'>"+e['sname']+"</option>");
});
}
});
}
< /script>
< table width="1000" cellpadding="0" cellspacing="0" align=center border=0>
< tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0" align=center>
<form name="search_balance" method="post">
<col width = 180/>
<col/>
<tr height=30><td></td></tr>
<tr><td colspan=2 height=3 bgcolor=#dddddd></td></tr>
<tr>
<td class=s_head>분류</td>
<td class=s_text>
<select name=s_category id="s_category" itemname="분류">
<? for($i=0; $i < sizeof($S_CATEGORY); $i++) { ?>
<option value="<?=$i?>"><?=$S_CATEGORY[$i]?></option>
<? } ?>
</select>
<?
$result = mysql_query("select * from g4_shopb where bcode = '$member[mb_id]' ");
for($i = 0; $row = mysql_fetch_array($result); $i++){
$br_list[$i] = $row;
}
if($br_list){
?>
<select name="brcode" id="brcode" onchange="getBranch(this.value)">
<option value="">전체지사</option>
<?
for($i = 0 ; $i < count($br_list); $i++) {
echo "<option value='".$br_list[$i][scode]."'";
if($brcode == $br_list[$i][scode]) echo " selected";
echo ">".$br_list[$i][sname]."</option>";
}
?>
</select>
<? } ?>
<select name="company" id="company" onchange="Select_branch(this.value)">
<option value=""><?if($maker) echo $maker; else echo "지점선택";?></option>
</select>
</td>
</tr>
*파일이름 : est_ajax_get_company.php
$domestic = $_GET[domestic];
$result = mysql_query("select * from g4_shop where brcode = '$domestic' ");
$html = "[";
$rowCnt = 0;
while($row=@mysql_fetch_array($result)) {
if($rowCnt != 0) $html .= ", ";
$html .='{';
$html .='"brcode":"'.$row[scode].'"';
$html .=',"sname":"'.$row[sname].'"';
$html .='}';
$rowCnt++;
}
$html .= "]";
echo $html;
아작스를 이제 처음접한 초보입니다.. $html 의 값은 잘나오는데요 갑을 어떻게 가져와서 select 태그에 값을 나오게 해야할지 도무지 안됩니다. ㅠㅠ 고수님들의 설명좀 부탁드립니다..
답변 2개
php에서 json값을 만들어주려면 그냥 만들기만 하는게 아니라 json_encode를 해주셔야해요.
http://php.net/manual/kr/function.json-encode.php
레퍼런스이고요.
est_ajax_get_company.php 여기에서 마지막에 echo $html을 echo json_encode($html)을 해주셔야지 json형식으로 값이 넘어가서 받는곳에서 json형식으로 값을 받을수가 있어요.
그리고 값이 넘어오는걸 보기 제일 쉬운방법은 무슨 브라우저든 개발자도구 여시고 콘솔을 보시면되요. 그럼 json값 넘어오는것도 콘솔에 남아요.
답변을 작성하려면 로그인이 필요합니다.