영카트 3차 분류 리스트 계속 남게

영카트 3차 분류 리스트 계속 남게

QA

영카트 3차 분류 리스트 계속 남게

본문

안녕하세요. 고수 선배님들.

영카트에서 상품 분류를 3차까지 쓰고 있습니다. 

현재는 1차 분류에 들어가면 2차 분류 리스트가 뜨고 ,

2차 들어가면 3차 분류 리스트 뜨고

3차 들어가면 분류 리스트에는 아무것도 안뜹니다.

 

제가 구현하고 싶은 것은 3차까지 들어가더라도 같은 동급의 3차 분류들은 계속 남아있게 하고 싶은데 

어떻게 구현해야 될지 여쭙고 싶습니다.

 

많은 도움 부탁드립니다. 미리 감사드립니다.

 

참고로 현재 코드 남겨놓습니다.


<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
$str = '';
$exists = false;
$ca_id_len = strlen($ca_id);
$len2 = $ca_id_len + 2;
$len4 = $ca_id_len + 4;
$sql = " select ca_id, ca_name from {$g5['g5_shop_category_table']} where ca_id like '$ca_id%' and length(ca_id) = $len2 and ca_use = '1' order by ca_order, ca_id ";
$result = sql_query($sql);
while ($row=sql_fetch_array($result)) {
    $row2 = sql_fetch(" select count(*) as cnt from {$g5['g5_shop_item_table']} where (ca_id like '{$row['ca_id']}%' or ca_id2 like '{$row['ca_id']}%' or ca_id3 like '{$row['ca_id']}%') and it_use = '1'  ");
    $str .= '<li><a href="./list.php?ca_id='.$row['ca_id'].'" class="btn_hover box">'.$row['ca_name'].' <span>'.$row2['cnt'].'</span></a></li>';
    $exists = true;
}
if ($exists) {
    // add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
    add_stylesheet('<link rel="stylesheet" href="'.G5_SHOP_CSS_URL.'/style.css">', 0);
?>
<!-- 상품분류 1 시작 { -->
<aside id="sct_ct_1" class="sct_ct">
    <h2>현재 상품 분류와 관련된 분류</h2>
    <ul>
        <?php echo $str; ?>
    </ul>
</aside>
<!-- } 상품분류 1 끝 -->
<?php } ?>

이 질문에 댓글 쓰기 :

답변 2

3차분류시에 while문이 안돌아서 그런것 같은데

3차분류때만 코드를 따로 구분해서 돌리면 안되나요??

카테고리 분류를 배열로 정리하는 함수를 만들어보았습니다.

 



function getCategory($ca_id = '', $step = 1) {
    global $g5;
    $len_id = $step * 2;

    $sql = " select ca_id, ca_name from {$g5['g5_shop_category_table']} where ca_use = '1'  and length(ca_id)=$len_id";
    if($ca_id) $sql .= " and ca_id like '{$ca_id}%'";
    $sql .= " order by ca_order, ca_id ";
    $result = sql_query($sql);
    $r = array();
    while($row = sql_fetch_array($result)) {
        $row['subCategory'] = getCategory($row['ca_id'], $step + 1);
        array_push($r, $row);
    }
    return $r;
}

$category = getCategory();

echo json_encode($category);

답변을 작성하시기 전에 로그인 해주세요.
전체 123,162 | RSS
QA 내용 검색

회원로그인

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