boxcategory.skin.php 에 해당 1차 2차 분류만 표시하고 싶습니다. 채택완료
boxcategory.skin.php 에 현재 분류에 속하는 1차분류와 그 2차분류를 표시하게 하고 싶습니다.
인덱스에는 인클루드 시키지 않을거고요.
원래는 모든 1차분류와 마우스오버하면 2차분류까지 나오는데
이것저것 하다보니 해당 1차분류만 나오게 하는 건 했습니다.
문제는 그 1차분류의 2차분류를 나오게 해야 하는데 그걸 모르겠어요.
사실 PHP를 전혀 몰라서...
검색을 이래저래해봤는데 제가 맞는 상황이 거의 없었는지 못찾았습니다.
혹시 아시는 분 있다면 조언 부탁드립니다.
아래는 현재 제가 수정한 코드입니다.
</p><p><!-- 쇼핑몰 카테고리 시작 -->
<nav class="subshopmn">
<!--h2>쇼핑몰 카테고리</h2-->
<ul id="gnb_1dul">
<?php
$hsql = " select ca_id, ca_name from {$g5['g5_shop_category_table']} where length(ca_id) = '2' and ca_use = '1' order by ca_order, ca_id ";
$hresult = sql_query($hsql);
?>
<li class="on"><a href="<?php echo G5_SHOP_URL.'/list.php?ca_id='.$row['ca_id']; ?>"><?php echo $row['ca_name']; ?></a></li>
</ul>
</nav>
<!-- 쇼핑몰 카테고리 끝 --></p><p>
답변 1개
질문에 보탬이 좀 될지모르겠지만
개념적으로 설명을 드립니다.
1줄짜리 카테고리는 필요하신 부분을 조절하시면 될거 같구요
쇼핑몰의 카테고리는
두개의 숫자로 커지게 되어있습니다.
예를들어
3단계 카테고리인경우
가전 > 영상 > TV
의 네이게이션을 가진다고 가정하고
[가전] 의값은
ca_id : 10
ca_name : 가전
[영상] 의 값은
ca_id : 1010
ca_name : 영상
[TV]의 값은
ca_id : 101010
ca_name : TV
를 가지고 있게됩니다.
물론
1개의 값들만 존재하는것으로 표현한거죠
복잡한 설명은 여기에 다 적을수 없기때문에
쿼리로 설명할경우
2레벨의 값을 다 표현하려면
위에 작성하신 방식은
단일 카테고리만 존재한다고 봐야 합니다.
1레벨은
ca_id 가 두개의 숫자만 가진것으로 판단한것이구요
그래서
쿼리상에서
length(ca_id) = 2 라고 보는겁니다.
ca_id 가 2자리로 구성된것들은 1레벨
4자리로 된것들은 2레벨
6자리로 된것들은 3레벨
그러면
위에서 표기하고자 하는대로 다 표현할수는 없겠죠
</p><p> <!-- 쇼핑몰 카테고리 시작 --></p><p>
</p><p> <nav class="subshopmn"></p><p>
</p><p> <!--h2>쇼핑몰 카테고리</h2--></p><p>
</p><p> <ul id="gnb_1dul"></p><p>
</p><p> <?php</p><p>
</p><p> $hsql = " select ca_id, ca_name from {$g5['g5_shop_category_table']} where length(ca_id) = '2' and ca_use = '1' order by ca_order, ca_id ";</p><p><span style="white-space:pre"> </span>$hresult = sql_query($hsql);</p><p> // 이부분이 순환되어야 1레벨들이 표기되겠죠</p><p><span style="white-space:pre"> </span>while( $row=sql_fetch($hresult))<span style="white-space:pre"> </span>{</p><p><span style="white-space:pre"> </span>//1레벨의 카테고리 표기</p><p><span style="white-space:pre"> </span>?></p><p><span style="white-space:pre"> </span><li class="on"></p><p><span style="white-space:pre"> </span><a href="<?php echo G5_SHOP_URL.'/list.php?ca_id='.$row['ca_id']; ?>"><?php echo $row['ca_name']; ?></a></p><p><span style="white-space:pre"> </span></li></p><p><span style="white-space:pre"> </span><?php</p><p><span style="white-space:pre"> </span>// 여기서 각각 1레벨의 연관 2레벨값들을 찾아봐야 합니다.</p><p><span style="white-space:pre"> </span>$hsql2 = "select ca_id, ca_name from {$g5['g5_shop_category_table']} where length(ca_id) = '4' and ca_use = '1' ";</p><p><span style="white-space:pre"> </span>//여기까지는 위의 카네고리와 유사하고 길이만 2레벨로 합니다만</p><p><span style="white-space:pre"> </span>// 1레벨의 연관을 찾기위해서 1레벨의 카테고리와의 연관성을 이어줍니다.</p><p><span style="white-space:pre"> </span>$hsql2 .="and ca_id like '".$row['ca_id']."$' ";</p><p><span style="white-space:pre"> </span>// 그리고 나서 정렬등을 처리하게 쿼리를 만듭니다.</p><p><span style="white-space:pre"> </span>$hsql2 .= "order by ca_order, ca_id ";</p><p><span style="white-space:pre"> </span>$hresult2 = sql_query($hsql2);</p><p><span style="white-space:pre"> </span>$hcnt = 0;</p><p><span style="white-space:pre"> </span>// 2레벨의 카테고리들이 존재하면 2차순환합니다. </p><p><span style="white-space:pre"> </span>while ($row2 = sql_fetch($hresult2))<span style="white-space:pre"> </span>{</p><p><span style="white-space:pre"> </span>if ($hcnt == 0) {</p><p><span style="white-space:pre"> </span>//2레벨이 처음이면 태그열기?></p><p><span style="white-space:pre"> </span><ul id="gnb_2dul"></p><p><span style="white-space:pre"> </span><?php }?></p><p><span style="white-space:pre"> </span><li ><a href="<?php echo G5_SHOP_URL.'/list.php?ca_id='.$row2['ca_id']; ?>"><?php echo $row2['ca_name']; ?></a></li></p><p><span style="white-space:pre"> </span><?php </p><p><span style="white-space:pre"> </span>$hcnt++;</p><p><span style="white-space:pre"> </span>}</p><p><span style="white-space:pre"> </span>// 2차순환종료</p><p><span style="white-space:pre"> </span>// 2레벨이 작동했으면 태그닫기</p><p><span style="white-space:pre"> </span>if ($hcnt > 0)<span style="white-space:pre"> </span>{?></p><p><span style="white-space:pre"> </span></ul></p><p><span style="white-space:pre"> </span><?}?></p><p><span style="white-space:pre"> </span> <?php </p><p><span style="white-space:pre"> </span>} </p><p><span style="white-space:pre"> </span>// 1레벨의 카테고리 순환종료?></p><p> </ul></p><p>
</p><p> </nav></p><p>
</p><p> <!-- 쇼핑몰 카테고리 끝 --></p><p>
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인