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

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

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

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



itemform.php
[code]

<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>
[/code]

ajax.category_select.php
[code]
<?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' => '하위 카테고리가 없습니다. ')));
}
?>
[/code]

댓글 작성

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

로그인하기

댓글 6개

좋은팁 감사합니다.~!
기본분류는 위의 내용으로 적용했는데, 2차, 3차는 어떻해 추가해야 할까요?
4년 전
@ablue 저도 기본분류까지는 했는데 혹시 2차, 3차도 추가하셨나요? 추가하셨으면 방법을 알려주실 수 있을까요?
이거 찾고있었는데 감사합니다!!
3년 전
영카트 카테고리
3년 전
좋네요 ^^ 공개 감사합니다~
click은 방향키가 안먹어서 change 로 바꿔 주었습니다!

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

----

[http://sir.kr/data/editor/2209/6c78c8760b67c4eb803fad636b975175_1663913501_4567.png]
2년 전
좋은팁 감사 합니다

게시글 목록

번호 제목
1634
1632
1631
1630
1629
1625
1608
1595
1578
1571
1567
1561
1560
1558
1555
1554
1553
1552
1551
1547
1538
1531
1527
1523
1522
1512
1511
1506
1503
1489