ajax 를 이용한 다중 select 도움 부탁 드립니다. 채택완료
벌써30대
6년 전
조회 6,157
안녕하세요.
현재 시(co_si) 를 선택 하면 해당 하는 시의 구군(co_gu)를
출력 하고 싶어 여러가지를 시도 해보다가 안되서 도움을 요청 하고자
올립니다.
아래는 g5_code 테이블의 필드와 값들 입니다.
co_si = 시도
co_gu = 구군

다음으로는 제가 시도 해본 방법 입니다.
area.php
</p>
<p><!-- 시도 출력 --></p>
<p><select id="sido" onchange="selectarea()"></p>
<p> <option value="0">선택하세요</option></p>
<p> <?</p>
<p> $sql = "SELECT co_si FROM g5_code GROUP BY co_si"; // co_si 로 묶어 중복된 값을 제거</p>
<p> $result = sql_query($sql);</p>
<p> </p>
<p> for($i=0; $row=sql_fetch_array($result); $i++) {</p>
<p> ?></p>
<p> <option value="<?php echo $row['co_si']; ?>"><?php echo $row['co_si']; ?></option>
<?
}</p>
<p> ?></p>
<p></select></p>
<p><!-- 시도 출력 --></p>
<p> </p>
<p><!-- 구군 출력 --></p>
<p><select id="gugun"></p>
<p> <option value="0">선택하세요</option></p>
<p></select></p>
<p><!-- 구군 출력 --></p>
<p> </p>
<p><script></p>
<p> function selectarea() {</p>
<p> var sido = $('#sido').val();</p>
<p> </p>
<p> $.ajax({</p>
<p> type: 'post',</p>
<p> url: './ajax.area.php',</p>
<p> data: { sido : sido },</p>
<p> success: function(data) {</p>
<p> alert(data);
}</p>
<p> });
}</p>
<p></script></p>
<p>
ajax.area.php
</p>
<p> $sido = $_POST['sido'];</p>
<p> </p>
<p> $sql = "SELECT co_gu FROM g5_code WHERE co_si = '$sido'";</p>
<p> $result = sql_query($sql);</p>
<p> $row = sql_fetch_array($result);</p>
<p> </p>
<p> echo $row['co_gu'];</p>
<p>
위와 같은 방식으로 area.php 에서 sido의 값은 ajax.area.php로 보낸후
echo $row['co_gu']; 로 받아와 alert() 로 출력 하게 되면
시에 해당하는 co_gu의 갯수를 출력 합니다.
ajax 로 보내는게 잘못 된건지 ajax.area.php 에서 처리 하는 방식이 잘못된것인지
모르겠습니다.....도와주십쇼!(__)
댓글을 작성하려면 로그인이 필요합니다.
답변 1개
채택된 답변
+20 포인트
6년 전
common.php 파일한번가져와보세요 common.php 인클루드를 안해주면 sql_query함수랑 sql_fetch_array 함수사용을 못합니다.
</p>
<p><script>
function selectarea() {
var sido = $('#sido').val();
$.ajax({
type: 'POST',
url: './ajax.area.php',
data: { sido : sido },
success: function(data) {
$("#gugun").html(data);
}
});
}
</script></p>
<p>
ajax.area.php
</p>
<p><?php
include_once($_SERVER['DOCUMENT_ROOT'] ."/common.php");</p>
<p>$sido = $_POST['sido'];</p>
<p>$sql = "SELECT co_gu FROM g5_code WHERE co_si = '$sido' ";
$result = sql_query($sql);</p>
<p>for($i=0; $row=sql_fetch_array($result); $i++) {
echo '<option value="'.$row['co_gu'].'">'.$row['co_gu'].'</option>';
}
?></p>
<p>
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
�
벌써30대
6년 전
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
정말 감사합니다!