테스트 사이트 - 개발 중인 베타 버전입니다

코드 요약 부탁드립니다 채택완료

니냐노 4년 전 조회 1,689

</p>

<pre>
<ul>
    <?php
    $listUrl = G5_SHOP_URL . '/list.php?ca_id=';
    //1차 카테고리 리스트들 가져오기
    $res = sql_query(" select ca_id, ca_name from {$g5['g5_shop_category_table']} where ca_use = '1' and ca_id like '__' order by ca_order, ca_id ");
    for ($i = 0; $r = sql_fetch_array($res); $i++) {
        ?>
    <li class="<?php echo strpos($r['ca_id'], $ca_id) === 0 ? 'open' : ''; ?>">
        <a href="<?php echo $listUrl . $r['ca_id']; ?>"><?php echo get_text($r['ca_name']); ?></a>
        <?php
        //2차 카테고리 리스트들 가져오기
        $res2 = sql_query(" select ca_id, ca_name from {$g5['g5_shop_category_table']} where ca_use = '1' and ca_id like '{$r['ca_id']}__' order by ca_order, ca_id ");

        for ($j = 0; $r2 = sql_fetch_array($res2); $j++) {
            if ($j == 0)
                echo '<ul class="">' . PHP_EOL;

            //하위카테고리 상품 수량
            $temp = sql_fetch("select count(*) as cnt from {$g5['g5_shop_item_table']} where ca_id like '{$r2['ca_id']}%' or ca_id2 like '{$r2['ca_id']}%' or ca_id3 like '{$r2['ca_id']}%' ");
            ?>
            <li>
                <a href="<?php echo $listUrl . $r2['ca_id']; ?>" class=""><?php echo get_text($r2['ca_name']); ?> <span class="c_num">(<?php echo (int)$temp['cnt'] ?>)</span></a>
            </li>
            <?php
        }
        if ($j > 0)
            echo '</ul>' . PHP_EOL;
        ?>
            <li class="<?php echo strpos($r2['ca_id'], $ca_id) === 0 ? 'open' : ''; ?>">
        <a href="<?php echo $listUrl . $r2['ca_id']; ?>"><?php echo get_text($r2['ca_name']); ?></a>
        <?php
        //3차 카테고리 리스트들 가져오기
        $res3 = sql_query(" select ca_id, ca_name from {$g5['g5_shop_category_table']} where ca_use = '1' and ca_id like '{$r2['ca_id']}__' order by ca_order, ca_id ");

        for ($k = 0; $r3 = sql_fetch_array($res3); $k++) {
            if ($k == 0)
                echo '<ul class="">' . PHP_EOL;

            //하위카테고리 상품 수량
            $temp = sql_fetch("select count(*) as cnt from {$g5['g5_shop_item_table']} where ca_id like '{$r3['ca_id']}%' or ca_id2 like '{$r3['ca_id']}%' or ca_id3 like '{$r2['ca_id']}%' ");
            ?>
            <li>
                <a href="<?php echo $listUrl . $r3['ca_id']; ?>" class=""><?php echo get_text($r3['ca_name']); ?> <span class="c_num">(<?php echo (int)$temp['cnt'] ?>)</span></a>
            </li>
            <?php
        }
        if ($k > 0)
            echo '</ul>' . PHP_EOL;
        ?>
        </li>
        <?php
    }
    ?>
</ul></pre>

<p>

 

그냥 막 가지고 온거긴 한데 너무 스파게티라 알아볼수가 없네영

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

답변 3개

채택된 답변
+20 포인트
B
4년 전

효율은 떨어지지만 반복의 반복을 통한 전체 카테고리명 및 등록 상품수 출력이니

요약거리가 없네요. 스파게티 소스도 아니고요.

이 정도는 본인이 정리하고 이해해야, 응용&활용하는데 도움이 되지 않을까요?

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

니냐노
4년 전
넵 알겟습니다

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

그냥 상품 카테고리 가져오기 같은데요? 1차부터 3차까진데 영카트 최신버전 코드도 참고해보세요

거기서는 깔끔하게 나왔어요 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

니냐노
4년 전
감사합니다 선생님

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

s
sinbi Expert
4년 전

질문이 추상적이네요.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

니냐노
4년 전
for문에 갇혀잇어서 함수를 쓰기에도 뭐해서 어떻게 요약할지 문의드렷습니다

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

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

로그인