채택완료

영카트 분류

안녕하세요..!

영카트 기본 분류로 aside 검색 기능을 구현하려고 하는 중인데..

검색이 최종적으로 and 검색이 되어야 하는데 자꾸 마지막 선택 값인 ca_id3 값만 가져옵니다..

그리고 리스트 화면에서도 분류가 모두 떠야하는데

li 하나를 클릭 했을 때 다음 화면에서 다른 ca_id값이 li로 뜹니다..

어찌 해야할까요..

Copy
<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

$str = '';
$qnl = '';
$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 ";
$sql2 = "select * from g5_shop_category where ca_id like '20%'";

$result2 = sql_query($sql2);
$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="'.shop_category_url($row['ca_id']).'">'.$row['ca_name'].' </a></li>';
    $exists = true;
} 
while ($row2=sql_fetch_array($result2)) {
    
    $row3= 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'  ");

    $qnl .= '<li><a href="'.shop_category_url($row2['ca_id']).'">'.$row2['ca_name'].' </a></li>';

    //$qnl .= '<option value="'.$row2['ca_id'].'"></option>';
}

if ($exists) {

    // add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
    add_stylesheet('<link rel="stylesheet" href="'.G5_SHOP_SKIN_URL.'/style.css">', 0);
?>

<!-- 상품분류 1 시작 --> 

<aside id="sct_ct_1" class="sct_ct">
    <h2>현재 상품 분류와 관련된 분류</h2>
    <ul>
        <?php echo $str; ?>
    </ul>
    <ul>
        <?php echo $qnl; ?>
    </ul>
</aside>
 <!-- 상품분류 1 끝 -->

<?php }

//메인

3076557694_1691982045.3574.png

//클릭 했을 때

3076557694_1691982067.6272.png

|

답변 2개 / 댓글 3개

채택된 답변
+20 포인트

분류값 구성에 대한 설명이 있어야 합니다

입문/초급~~~<--ca_id 값이 무엇이며

시/소설~~~~<--ca_id 값이 무엇인지 설명이 있어야 무엇이 잘못인지 판단이 되겠습니다

답변에 대한 댓글 3개

입문/초급은 ca_id2 시/소설은 ca_id3 입니다!
where ca_id like '20%' <---이렇게 되어있으니 실제 사용하고 있는 ca_id 값을 알아야 진단을 할 수 있다는 것입니다
아..! 제가 숫자를 잘못 썻네요 ! 감사합니다!!!!! 한가지 더 궁금한게 있는데 그럼 ca_id 두개 값을 가지고는 검색 할 순 없나요?

or를 사용해서

where ca_id like '20%' or ca_id like '30%'

답변을 작성하려면 로그인이 필요합니다.