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

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

· 4년 전 · 4092 · 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년 전
좋은팁 감사 합니다

게시글 목록

번호 제목
2169
2168
2167
2158
2146
2140
2130
2114
2102
2095
2084
2075
2072
2070
2069
2065
2058
2056
2055
2054
2049
2038
2036
1989
1956
1923
1918
1904
1892
1891