카테고리 쉽게 고르기 4차까지
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]
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개
ablue
4년 전
좋은팁 감사합니다.~!
기본분류는 위의 내용으로 적용했는데, 2차, 3차는 어떻해 추가해야 할까요?
기본분류는 위의 내용으로 적용했는데, 2차, 3차는 어떻해 추가해야 할까요?
4년 전
@ablue 저도 기본분류까지는 했는데 혹시 2차, 3차도 추가하셨나요? 추가하셨으면 방법을 알려주실 수 있을까요?
4년 전
이거 찾고있었는데 감사합니다!!
4년 전
영카트 카테고리
3년 전
좋네요 ^^ 공개 감사합니다~
click은 방향키가 안먹어서 change 로 바꿔 주었습니다!
$(document).on("change", "#caa_id", function() {
----
[http://sir.kr/data/editor/2209/6c78c8760b67c4eb803fad636b975175_1663913501_4567.png]
click은 방향키가 안먹어서 change 로 바꿔 주었습니다!
$(document).on("change", "#caa_id", function() {
----
[http://sir.kr/data/editor/2209/6c78c8760b67c4eb803fad636b975175_1663913501_4567.png]
3년 전
좋은팁 감사 합니다
게시판 목록
영카트5 팁자료실
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 341 | 4년 전 | 4072 | ||
| 340 | 4년 전 | 3379 | ||
| 339 | 4년 전 | 3210 | ||
| 338 | 4년 전 | 3772 | ||
| 337 | 4년 전 | 4130 | ||
| 336 | 4년 전 | 2810 | ||
| 335 |
|
4년 전 | 2699 | |
| 334 | 4년 전 | 2254 | ||
| 333 |
|
4년 전 | 2316 | |
| 332 |
|
4년 전 | 3153 | |
| 331 |
|
4년 전 | 3799 | |
| 330 | 4년 전 | 2210 | ||
| 329 | 4년 전 | 3703 | ||
| 328 | 4년 전 | 2167 | ||
| 327 | 4년 전 | 2730 | ||
| 326 | 4년 전 | 2590 | ||
| 325 | 4년 전 | 5033 | ||
| 324 | 4년 전 | 2198 | ||
| 323 |
파이브스톤즈
|
5년 전 | 3024 | |
| 322 | 5년 전 | 2525 | ||
| 321 | 5년 전 | 2557 | ||
| 320 | 5년 전 | 1889 | ||
| 319 | 5년 전 | 2569 | ||
| 318 | 5년 전 | 4110 | ||
| 317 | 5년 전 | 4109 | ||
| 316 | 5년 전 | 2653 | ||
| 315 | 5년 전 | 3835 | ||
| 314 | 5년 전 | 3647 | ||
| 313 |
|
5년 전 | 1646 | |
| 312 | 5년 전 | 4155 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기