카테고리 쉽게 고르기 4차까지 > 영카트5 팁자료실

영카트5 팁자료실

카테고리 쉽게 고르기 4차까지 정보

카테고리 쉽게 고르기 4차까지

본문

4차 카테고리까지 만들었고,
1차 2차 3차 카테고리 클릭시 움직이는 스크립트를 각각 넣었어요.
n차 까지 알아서 때다 쓰시면 됩니당 ㅎ

itemform.php에서
카테고리 들고오는 부분은 conv_selected_option() & $category_select를 이용해서 넣으면 좋아요 ㅎ
어떤 소스가 들어가야 된다는 걸 나타내기 위해 그냥 소스로 넣었어요 ㅎ



itemform.php


<div id="cate1">
<select size="15" name="ca_id" id="caa_id" class="cid" >
	<?php
	$sql_ca_id1="SELECT ca_id, ca_name FROM g5_shop_category where length(ca_id) = '2' order by ca_id ";

	$result_ca_id1 = sql_query($sql_ca_id1);
	for($i=0; $row_ca_id1 = sql_fetch_array($result_ca_id1); $i++){
		?>
		<option value=<?php echo $row_ca_id1[ca_id]; ?> <?php if($row_ca_id1[ca_id] == substr($ca_id, 0, 2)) echo 'selected'?>><?php echo $row_ca_id1[ca_name]; ?></option>
	<?php } ?>
</select>
</div>

<div id="cate2" >
<?if($ca_id && strlen($ca_id) >= 4){?>
<select size="15" name="ca_id" id="caa_id2" class="cid"  >
	<?php
	$sql_ca_id1="SELECT ca_id, ca_name FROM g5_shop_category where length(ca_id) = '4' order by ca_id ";

	$result_ca_id1 = sql_query($sql_ca_id1);
	for($i=0; $row_ca_id1 = sql_fetch_array($result_ca_id1); $i++){
		?>
		<option value=<?php echo $row_ca_id1[ca_id]; ?> <?php if($row_ca_id1[ca_id] == substr($ca_id, 0, 4)) echo 'selected'?>><?php echo $row_ca_id1[ca_name]; ?></option>
	<?php } ?>
</select>
<?php } ?>
</div>

<div id="cate3">
<?if($ca_id && strlen($ca_id) >= 6){?>
<select size="15" name="ca_id" id="caa_id3" class="cid" >
	<?php
	$sql_ca_id1="SELECT ca_id, ca_name FROM g5_shop_category where length(ca_id) = '6' order by ca_id ";

	$result_ca_id1 = sql_query($sql_ca_id1);
	for($i=0; $row_ca_id1 = sql_fetch_array($result_ca_id1); $i++){
		?>
		<option value=<?php echo $row_ca_id1[ca_id]; ?> <?php if($row_ca_id1[ca_id] == substr($ca_id, 0, 6)) echo 'selected'?>><?php echo $row_ca_id1[ca_name]; ?></option>
	<?php } ?>
</select>
<?php } ?>
</div>

<div id="cate4">
<?if($ca_id && strlen($ca_id) >= 8){?>
<select size="15" name="ca_id" id="caa_id4" class="cid" >
	<?php
	$sql_ca_id1="SELECT ca_id, ca_name FROM g5_shop_category where length(ca_id) = '8' order by ca_id ";

	$result_ca_id1 = sql_query($sql_ca_id1);
	for($i=0; $row_ca_id1 = sql_fetch_array($result_ca_id1); $i++){
		?>
		<option value=<?php echo $row_ca_id1[ca_id]; ?> <?php if($row_ca_id1[ca_id] == substr($ca_id, 0, 8)) echo 'selected'?>><?php echo $row_ca_id1[ca_name]; ?></option>
	<?php } ?>
</select>
<?php } ?>

<script>
	$(document).ready(function() {
		$(document).on("click", "#caa_id", function() {
			var company_is = $('#caa_id').val();
			$.ajax({
				url: '/adm/ajax.category_select.php',
				type: 'post',
				data: { ca_id: $('#caa_id').val() ,  length: $('#caa_id').val().length },
				success: function(result) {
					var data = JSON.parse(result);
					if(data.success == 0) {
						console.log(data.msg);
					}else{
						$('#cate2').css('display', 'block');
						$('#cate2').html(data.data);
						$('#cate3').html('');
						$('#cate4').html('');
					}
				}
			});
		});


		$(document).on("click", "#caa_id2", function() {
			 var company_is = $('#caa_id2').val();
			$.ajax({
				url: '/adm/ajax.category_select.php',
				type: 'post',
				data: { ca_id: $('#caa_id2').val() ,  length: $('#caa_id2').val().length },
				success: function(result) {
					var data = JSON.parse(result);
					if(data.success == 0) {
						console.log(data.msg);
					}else{
						$('#cate3').css('display', 'block');
						$('#cate3').html(data.data);
						$('#cate4').html('');
					}
				}
			});
		});
		$(document).on("click", "#caa_id3", function() {
			 var company_is = $('#caa_id3').val();
			$.ajax({
				url: '/adm/ajax.category_select.php',
				type: 'post',
				data: { ca_id: $('#caa_id3').val() ,  length: $('#caa_id3').val().length },
				success: function(result) {
					var data = JSON.parse(result);
					if(data.success == 0) {
						console.log(data.msg);
					}else{
						$('#cate4').css('display', 'block');
						$('#cate4').html(data.data);
					}
				}
			});
		});
	});
</script>


ajax.category_select.php

<?php
include_once('./_common.php');

if(!empty($_POST['ca_id'])){
	if($_POST['length']=='2'){
		$qry = "SELECT ca_id, ca_name FROM g5_shop_category WHERE ca_id like '".$_POST['ca_id']."%' and ca_id != '".$_POST['ca_id']."' and length(ca_id) = '4' ";
	}elseif($_POST['length']=='4'){
		$qry = "SELECT ca_id, ca_name FROM g5_shop_category WHERE ca_id like '".$_POST['ca_id']."%' and ca_id != '".$_POST['ca_id']."' and length(ca_id) = '6'  ";
	}elseif($_POST['length']=='6'){
		$qry = "SELECT ca_id, ca_name FROM g5_shop_category WHERE ca_id like '".$_POST['ca_id']."%' and ca_id != '".$_POST['ca_id']."' and length(ca_id) = '8'  ";
	}
}

$qid = sql_query($qry);
$num_rows = sql_num_rows($qid);

if($num_rows > 0) {

if($_POST['length']=='2'){
    $output = '<select name="ca_id" size="15" id="caa_id2"class="cid"  >';
}elseif($_POST['length']=='4'){
    $output = '<select name="ca_id" size="15" id="caa_id3"class="cid" >';
}elseif($_POST['length']=='6'){
    $output = '<select name="ca_id" size="15" id="caa_id4"class="cid" >';
}
    for ($i = 0; $row = sql_fetch_array($qid); $i++)
    {
        $output .= '<option value="'.$row['ca_id'].'">'.$row['ca_name'].'</option>';
    }
    $output .= '</select>';
    exit(json_encode(array('success' => '1', 'data' => $output,'site'=>$_POST['ca_id'])));
} else {
   die(json_encode(array('success' => '0', 'msg' => '하위 카테고리가 없습니다. ')));
}
?>
추천
5

댓글 6개

좋네요 ^^ 공개 감사합니다~
click은 방향키가 안먹어서 change 로 바꿔 주었습니다!

$(document).on("change", "#caa_id", function() {

----

전체 392
영카트5 팁자료실 내용 검색

회원로그인

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