분류가 많아 추가/삭제시 특히 추가시 헷갈리는등 어려움이 많아
검색기능 활용하여 셀렉트 박스로 분류별로 표시되게 만들어 보았습니다.
아래 내용을 adm/shop_admin/categorylist.php
에
<div class="local_ov01 local_ov">
<?php echo $listall; ?>
생성된 분류 수 <?php echo number_format($total_count); ?>개
</div>
내용
밑에 붙여넣기 해서 사용하시면 됩니다.
[code]
<?php //카테고리 선택 시작 ?>
<style>
.comcose_acs {width:161px; padding:.5em;color:#222;}
</style>
<?php $he_size = '15'; ?>
<div style="padding:0 0 10px 20px;">
<?php //1차 카테고리 ?>
<select class="comcose_acs" size="<?php echo $he_size ?>" name="ca_id1" onChange="comcose_acs(this)">
<option style="color:#ff3100;font-weight:bold;" value="" >1차 카테고리</option>
<option>--------------------------------</option>
<?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($stx, 0, 2)) echo 'selected'?>><?php echo $row_ca_id1[ca_name]; ?></option>
<?php } ?>
</select>
<?php //2차 카테고리 ?>
<select class="comcose_acs" size="<?php echo $he_size ?>" name="ca_id2" onChange="comcose_acs(this)">
<option style="color:#ff3100;font-weight:bold;" value="<?php echo substr($stx, 0, 2); ?>" >2차 카테고리</option>
<option>--------------------------------</option>
<?php
$sql_ca_id2="SELECT ca_id, ca_name FROM g5_shop_category where length(ca_id) = '4' and substring(ca_id,1,2) = substring('$stx',1,2) order by ca_id ";
$result_ca_id2 = sql_query($sql_ca_id2);
for($i=0; $row_ca_id2 = sql_fetch_array($result_ca_id2); $i++){
?>
<option value=<?php echo $row_ca_id2[ca_id]; ?> <?php if($row_ca_id2[ca_id] == substr($stx, 0, 4)) echo 'selected'?>><?php echo $row_ca_id2[ca_name]; ?></option>
<?php } ?>
</select>
<?php //3차 카테고리 ?>
<select class="comcose_acs" size="<?php echo $he_size ?>" name="ca_id3" onChange="comcose_acs(this)">
<option style="color:#ff3100;font-weight:bold;" value="<?php echo substr($stx, 0, 4); ?>" >3차 카테고리</option>
<option>--------------------------------</option>
<?php
$sql_ca_id3="SELECT ca_id, ca_name FROM g5_shop_category where length(ca_id) = '6' and substring(ca_id,1,4) = substring('$stx',1,4) order by ca_id ";
$result_ca_id3 = sql_query($sql_ca_id3);
for($i=0; $row_ca_id3 = sql_fetch_array($result_ca_id3); $i++){
?>
<option value=<?php echo $row_ca_id3[ca_id]; ?> <?php if($row_ca_id3[ca_id] == substr($stx, 0, 6)) echo 'selected'?>><?php echo $row_ca_id3[ca_name]; ?></option>
<?php } ?>
</select>
<?php //4차 카테고리 ?>
<select class="comcose_acs" size="<?php echo $he_size ?>" name="ca_id4" onChange="comcose_acs(this)">
<option style="color:#ff3100;font-weight:bold;" value="<?php echo substr($stx, 0, 6); ?>" >4차 카테고리</option>
<option>--------------------------------</option>
<?php
$sql_ca_id4="SELECT ca_id, ca_name FROM g5_shop_category where length(ca_id) = '8' and substring(ca_id,1,6) = substring('$stx',1,6) order by ca_id ";
$result_ca_id4 = sql_query($sql_ca_id4);
for($i=0; $row_ca_id4 = sql_fetch_array($result_ca_id4); $i++){
?>
<option value=<?php echo $row_ca_id4[ca_id]; ?> <?php if($row_ca_id4[ca_id] == substr($stx, 0, 8)) echo 'selected'?>><?php echo $row_ca_id4[ca_name]; ?></option>
<?php } ?>
</select>
<?php //5차 카테고리 ?>
<select class="comcose_acs" size="<?php echo $he_size ?>" name="ca_id5" onChange="comcose_acs(this)">
<option style="color:#ff3100;font-weight:bold;" value="<?php echo substr($stx, 0, 8); ?>" >5차 카테고리</option>
<option>--------------------------------</option>
<?php
$sql_ca_id5="SELECT ca_id, ca_name FROM g5_shop_category where length(ca_id) = '10' and substring(ca_id,1,8) = substring('$stx',1,8) order by ca_id ";
$result_ca_id5 = sql_query($sql_ca_id5);
for($i=0; $row_ca_id5 = sql_fetch_array($result_ca_id5); $i++){
?>
<option value=<?php echo $row_ca_id5[ca_id]; ?> <?php if($row_ca_id5[ca_id] == substr($stx, 0, 10)) echo 'selected'?>><?php echo $row_ca_id5[ca_name]; ?></option>
<?php } ?>
</select>
<?php //6차 카테고리 ?>
<select class="comcose_acs" size="<?php echo $he_size ?>" name="ca_id6" onChange="comcose_acs(this)">
<option style="color:#ff3100;font-weight:bold;" value="<?php echo substr($stx, 0, 10); ?>" >6차 카테고리</option>
<option>--------------------------------</option>
<?php
$sql_ca_id6="SELECT ca_id, ca_name FROM g5_shop_category where length(ca_id) = '12' and substring(ca_id,1,10) = substring('$stx',1,10) order by ca_id ";
$result_ca_id6 = sql_query($sql_ca_id6);
for($i=0; $row_ca_id6 = sql_fetch_array($result_ca_id6); $i++){
?>
<option value=<?php echo $row_ca_id6[ca_id]; ?> <?php if($row_ca_id6[ca_id] == substr($stx, 0, 12)) echo 'selected'?>><?php echo $row_ca_id6[ca_name]; ?></option>
<?php } ?>
</select>
<script type="text/javascript">
function comcose_acs(sel_ca){
sel_ca= sel_ca.options[sel_ca.selectedIndex].value;
location.replace("categorylist.php?&sfl=ca_id&stx="+sel_ca);
}
</script>
</div>
<?php //카테고리 선택 끝 ?>
[/code]
저 같은 경우 카테고리ID를 별도로 만들어 중복검색이 안되었는데
만일 다른 카테고리와 중복 출력되는경우
adm/shop_admin/categorylist.php 내용 중 아래 항목에서 (상단에 있음)
[code]
if ($stx != "") {
if ($sfl != "") {
$sql_search .= " $where $sfl like '%$stx%' ";
$where = " and ";
}
if ($save_stx != $stx)
$page = 1;
}
$sql_search .= " $where $sfl like '%$stx%' "; 이 부분에 앞뒤 %를 제거해 주세요
$sql_search .= " $where $sfl like '$stx' "; 와 같이 해주시면 중복출력이 안됩니다.
[/code]
검색기능 활용하여 셀렉트 박스로 분류별로 표시되게 만들어 보았습니다.
아래 내용을 adm/shop_admin/categorylist.php
에
<div class="local_ov01 local_ov">
<?php echo $listall; ?>
생성된 분류 수 <?php echo number_format($total_count); ?>개
</div>
내용
밑에 붙여넣기 해서 사용하시면 됩니다.
[code]
<?php //카테고리 선택 시작 ?>
<style>
.comcose_acs {width:161px; padding:.5em;color:#222;}
</style>
<?php $he_size = '15'; ?>
<div style="padding:0 0 10px 20px;">
<?php //1차 카테고리 ?>
<select class="comcose_acs" size="<?php echo $he_size ?>" name="ca_id1" onChange="comcose_acs(this)">
<option style="color:#ff3100;font-weight:bold;" value="" >1차 카테고리</option>
<option>--------------------------------</option>
<?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($stx, 0, 2)) echo 'selected'?>><?php echo $row_ca_id1[ca_name]; ?></option>
<?php } ?>
</select>
<?php //2차 카테고리 ?>
<select class="comcose_acs" size="<?php echo $he_size ?>" name="ca_id2" onChange="comcose_acs(this)">
<option style="color:#ff3100;font-weight:bold;" value="<?php echo substr($stx, 0, 2); ?>" >2차 카테고리</option>
<option>--------------------------------</option>
<?php
$sql_ca_id2="SELECT ca_id, ca_name FROM g5_shop_category where length(ca_id) = '4' and substring(ca_id,1,2) = substring('$stx',1,2) order by ca_id ";
$result_ca_id2 = sql_query($sql_ca_id2);
for($i=0; $row_ca_id2 = sql_fetch_array($result_ca_id2); $i++){
?>
<option value=<?php echo $row_ca_id2[ca_id]; ?> <?php if($row_ca_id2[ca_id] == substr($stx, 0, 4)) echo 'selected'?>><?php echo $row_ca_id2[ca_name]; ?></option>
<?php } ?>
</select>
<?php //3차 카테고리 ?>
<select class="comcose_acs" size="<?php echo $he_size ?>" name="ca_id3" onChange="comcose_acs(this)">
<option style="color:#ff3100;font-weight:bold;" value="<?php echo substr($stx, 0, 4); ?>" >3차 카테고리</option>
<option>--------------------------------</option>
<?php
$sql_ca_id3="SELECT ca_id, ca_name FROM g5_shop_category where length(ca_id) = '6' and substring(ca_id,1,4) = substring('$stx',1,4) order by ca_id ";
$result_ca_id3 = sql_query($sql_ca_id3);
for($i=0; $row_ca_id3 = sql_fetch_array($result_ca_id3); $i++){
?>
<option value=<?php echo $row_ca_id3[ca_id]; ?> <?php if($row_ca_id3[ca_id] == substr($stx, 0, 6)) echo 'selected'?>><?php echo $row_ca_id3[ca_name]; ?></option>
<?php } ?>
</select>
<?php //4차 카테고리 ?>
<select class="comcose_acs" size="<?php echo $he_size ?>" name="ca_id4" onChange="comcose_acs(this)">
<option style="color:#ff3100;font-weight:bold;" value="<?php echo substr($stx, 0, 6); ?>" >4차 카테고리</option>
<option>--------------------------------</option>
<?php
$sql_ca_id4="SELECT ca_id, ca_name FROM g5_shop_category where length(ca_id) = '8' and substring(ca_id,1,6) = substring('$stx',1,6) order by ca_id ";
$result_ca_id4 = sql_query($sql_ca_id4);
for($i=0; $row_ca_id4 = sql_fetch_array($result_ca_id4); $i++){
?>
<option value=<?php echo $row_ca_id4[ca_id]; ?> <?php if($row_ca_id4[ca_id] == substr($stx, 0, 8)) echo 'selected'?>><?php echo $row_ca_id4[ca_name]; ?></option>
<?php } ?>
</select>
<?php //5차 카테고리 ?>
<select class="comcose_acs" size="<?php echo $he_size ?>" name="ca_id5" onChange="comcose_acs(this)">
<option style="color:#ff3100;font-weight:bold;" value="<?php echo substr($stx, 0, 8); ?>" >5차 카테고리</option>
<option>--------------------------------</option>
<?php
$sql_ca_id5="SELECT ca_id, ca_name FROM g5_shop_category where length(ca_id) = '10' and substring(ca_id,1,8) = substring('$stx',1,8) order by ca_id ";
$result_ca_id5 = sql_query($sql_ca_id5);
for($i=0; $row_ca_id5 = sql_fetch_array($result_ca_id5); $i++){
?>
<option value=<?php echo $row_ca_id5[ca_id]; ?> <?php if($row_ca_id5[ca_id] == substr($stx, 0, 10)) echo 'selected'?>><?php echo $row_ca_id5[ca_name]; ?></option>
<?php } ?>
</select>
<?php //6차 카테고리 ?>
<select class="comcose_acs" size="<?php echo $he_size ?>" name="ca_id6" onChange="comcose_acs(this)">
<option style="color:#ff3100;font-weight:bold;" value="<?php echo substr($stx, 0, 10); ?>" >6차 카테고리</option>
<option>--------------------------------</option>
<?php
$sql_ca_id6="SELECT ca_id, ca_name FROM g5_shop_category where length(ca_id) = '12' and substring(ca_id,1,10) = substring('$stx',1,10) order by ca_id ";
$result_ca_id6 = sql_query($sql_ca_id6);
for($i=0; $row_ca_id6 = sql_fetch_array($result_ca_id6); $i++){
?>
<option value=<?php echo $row_ca_id6[ca_id]; ?> <?php if($row_ca_id6[ca_id] == substr($stx, 0, 12)) echo 'selected'?>><?php echo $row_ca_id6[ca_name]; ?></option>
<?php } ?>
</select>
<script type="text/javascript">
function comcose_acs(sel_ca){
sel_ca= sel_ca.options[sel_ca.selectedIndex].value;
location.replace("categorylist.php?&sfl=ca_id&stx="+sel_ca);
}
</script>
</div>
<?php //카테고리 선택 끝 ?>
[/code]
저 같은 경우 카테고리ID를 별도로 만들어 중복검색이 안되었는데
만일 다른 카테고리와 중복 출력되는경우
adm/shop_admin/categorylist.php 내용 중 아래 항목에서 (상단에 있음)
[code]
if ($stx != "") {
if ($sfl != "") {
$sql_search .= " $where $sfl like '%$stx%' ";
$where = " and ";
}
if ($save_stx != $stx)
$page = 1;
}
$sql_search .= " $where $sfl like '%$stx%' "; 이 부분에 앞뒤 %를 제거해 주세요
$sql_search .= " $where $sfl like '$stx' "; 와 같이 해주시면 중복출력이 안됩니다.
[/code]
댓글 6개
8년 전
감사합니다. 너무나도 고급스러운 팁입니다^^
khora33
8년 전
감사합니다.
아이엠플러스1
8년 전
감사합니다 ~ !!
8년 전
감사합니다!! 정말 잘 쓰고 있습니다!!
iamdo
7년 전
도움이 많이 될 것 같네요 감사합니다
4년 전
정말 감사합니다!
게시판 목록
영카트5 스킨
좋은 댓글과 좋아요는 제작자에게 큰힘이 됩니다.
| 번호 | 분류 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|---|
| 75 | 기타 | 7년 전 | 4792 | ||
| 74 | 기타 | 7년 전 | 4883 | ||
| 73 | 상세페이지 | 7년 전 | 4388 | ||
| 72 | 기타 | 7년 전 | 3864 | ||
| 71 | 메인상품진열 | 7년 전 | 9005 | ||
| 70 | 기타 |
|
7년 전 | 5674 | |
| 69 | 레이아웃 | 7년 전 | 9327 | ||
| 68 | 상세페이지 | 7년 전 | 9365 | ||
| 67 | 레이아웃 | 7년 전 | 6111 | ||
| 66 | 메인상품진열 | 7년 전 | 5977 | ||
| 65 | 기타 | 7년 전 | 6655 | ||
| 64 | 기타 | 7년 전 | 7537 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기