jQuery 로 2중 카테고리 한번 만들었 봤어요 ^^ > 자유게시판

자유게시판

jQuery 로 2중 카테고리 한번 만들었 봤어요 ^^ 정보

jQuery 로 2중 카테고리 한번 만들었 봤어요 ^^

본문

허접잖은 실력으로 2중 카테고리 해서 검색 할수 있는거 한번 만들어 봤어요.
제이 쿼리 공부하면서 테스트 삼아 만들어 봤어요 허접해도 이해해 주세요

디비 구조는 불당님이 올려주신 계층구조 방식 사용했어요

http://sir.co.kr/bbs/board.php?bo_table=tip_mysql&wr_id=270

예제 주소 : http://becontacts.com/kr/category_change.php

category_change.php

<script>

    $(document).ready(function(){
                                                           
        $("#first").change(function(){
            var selected = $("#first option:selected");    
            var selected = selected.val();
           
            $.ajax({
               type: "POST",
               url: "./category_change_exec.php",
               data: "first=" + selected + "&pr_id=<?=$_GET[pr_id]?>" ,
               success: function(msg){
                $("#model_view").html(msg);
               }
             });
        })
        .change();
       
       
        $("#search").click(function(){
                                                       
            var first = $("#first > option:selected").val();
            var pr_id = $("#pr_id > option:selected").val();
       
            window.location= "category_change.php?first="+ first + "&pr_id=" + pr_id ;
       
        });    
    });
   
</script>

<table border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td>       
        <select name="first" id="first" size="1" required itemname='Category'>
            <option value="">카테고리</option>                              
            <?
            $sql = " select category_id, name, parent, en from g4_category where parent is null order by name ";   
            $result = sql_query($sql);               
           
            while ($row = sql_fetch_array($result))
            {
            ?>
                <option value='<?=$row[category_id]?>' <? if($_GET[first]==$row[category_id]){echo "selected";} ?>><?=$row['name']?></option>
            <?
            }               
            ?>
        </select>
    </td>
    <td id="model_view">
   
    </td>
    <td>
        <input type="button" name="button" id="search" value="검색" />
    </td>
  </tr>
</table>


category_change_exec.php

$sql = "
        SELECT t2.category_id as category_id, t2.name as category_name, t2.en as en_name
        FROM g4_category AS t1
        LEFT JOIN g4_category AS t2 ON t2.parent = t1.category_id
        WHERE t1.category_id = '$_POST[first]' order by t2.name ;
    ";
   
$result = sql_query($sql);

echo "
    <select name='pr_id' id='pr_id'>
        <option value=''>선택하세요</option>
";
while ($row = sql_fetch_array($result)){
?>
    <option value='<?=$row['category_id']?>' <? if($row['category_id'] == $_POST['pr_id']) echo "selected"; ?>><?=$row[category_name]?></option>
<?
}
                                           
echo "</select>";

고칠점이나 바꿀점 있으면 조언좀 주세요.
검색하고 나서도 셀렉트 박스 값을 그대로 갖고 있게 했어요.
추천
0

댓글 4개

기존의 모든 정보를 불러와서 셀렉시 나타내는게 아니라
ajax를 이용해서 선택시 새로 로딩하는 방식입니다~

근데 엄청난 대용량 필드가 아닌이상, 오히려 부담갈것 같네요..;
마우스로 안하고 키보드로 하나씩 내리는 분들 있습니다~

10번 내려가면 쿼리 10번임 ㅠㅠ
전체 199,647 |RSS
자유게시판 내용 검색

회원로그인

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