테스트 사이트 - 개발 중인 베타 버전입니다

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 포인트
false
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년 전
아, 커먼이나 기타 jquery 파일은 생략 했습니다!
정말 감사합니다!

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인