ajax 를 이용한 다중 select 도움 부탁 드립니다.

ajax 를 이용한 다중 select 도움 부탁 드립니다.

QA

ajax 를 이용한 다중 select 도움 부탁 드립니다.

본문

안녕하세요.

현재 시(co_si) 를 선택 하면 해당 하는 시의 구군(co_gu)를

출력 하고 싶어 여러가지를 시도 해보다가 안되서 도움을 요청 하고자

올립니다.

 

아래는 g5_code 테이블의 필드와 값들 입니다.

co_si = 시도

co_gu = 구군

 

3695863738_1551184297.0629.png

 

다음으로는 제가 시도 해본 방법 입니다.

 

area.php


<!-- 시도 출력 -->
<select id="sido" onchange="selectarea()">
     <option value="0">선택하세요</option>
     <?
          $sql = "SELECT co_si FROM g5_code GROUP BY co_si"; // co_si 로 묶어 중복된 값을 제거
          $result = sql_query($sql);
 
          for($i=0; $row=sql_fetch_array($result); $i++) {
     ?>
          <option value="<?php echo $row['co_si']; ?>"><?php echo $row['co_si']; ?></option>
     <?
          }
     ?>
</select>
<!-- 시도 출력 -->
 
<!-- 구군 출력 -->
<select id="gugun">
     <option value="0">선택하세요</option>
</select>
<!-- 구군 출력 -->
 
<script>
     function selectarea() {
          var sido = $('#sido').val();
 
          $.ajax({
               type: 'post',
               url: './ajax.area.php',
               data: { sido : sido },
               success: function(data) {
                    alert(data);
               }
          });
     }
</script>

 

ajax.area.php


     $sido = $_POST['sido'];
 
     $sql = "SELECT co_gu FROM g5_code WHERE co_si = '$sido'";
     $result = sql_query($sql);
     $row = sql_fetch_array($result);
 
     echo $row['co_gu'];

 

위와 같은 방식으로 area.php 에서 sido의 값은 ajax.area.php로 보낸후

echo $row['co_gu']; 로 받아와 alert() 로 출력 하게 되면

시에 해당하는 co_gu의 갯수를 출력 합니다.

 

ajax 로 보내는게 잘못 된건지 ajax.area.php 에서 처리 하는 방식이 잘못된것인지

모르겠습니다.....도와주십쇼!(__)

 

 

이 질문에 댓글 쓰기 :

답변 1

common.php 파일한번가져와보세요 common.php 인클루드를 안해주면 sql_query함수랑 sql_fetch_array 함수사용을 못합니다.

 


<script>
     function selectarea() {
          var sido = $('#sido').val();
 
          $.ajax({
               type: 'POST',
               url: './ajax.area.php',
               data: { sido : sido },
               success: function(data) {
                    $("#gugun").html(data);
               }
          });
     }
</script>

 

ajax.area.php


<?php
include_once($_SERVER['DOCUMENT_ROOT'] ."/common.php");
$sido = $_POST['sido'];
$sql = "SELECT co_gu FROM g5_code WHERE co_si = '$sido' ";
$result = sql_query($sql);
for($i=0; $row=sql_fetch_array($result); $i++) {
    echo '<option value="'.$row['co_gu'].'">'.$row['co_gu'].'</option>';
}
?>

 

답변을 작성하시기 전에 로그인 해주세요.
전체 1

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT