채택완료

메뉴 출력시 php 문법 질문

안녕하세요 sir 회원님들

다름이 아니라 php를 아예 모르는 상태에서 메뉴 출력작업을 수정하다보니 

방법을 모르겠어서 이렇게 질문을 남깁니다.


Copy
<div class="sub_ul_container cf">    <?php				// 1단계 분류 판매 가능한 것만				$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);				$gnb_zindex = 999; // gnb_1dli z-index 값 설정용								for ($i=0; $row=sql_fetch_array($hresult); $i++)				{				// 2단계 분류 판매 가능한 것만				/* 2단계 분류를 사용하지 않아 주석처리 */				?>        <h3 class="menu_h3">            <?php echo $row['ca_name']; ?>        </h3>        <?php				$sql2 = " select ca_id, ca_name from {$g5['g5_shop_category_table']} where LENGTH(ca_id) = '4' and SUBSTRING(ca_id,1,2) = '{$row['ca_id']}' and ca_use = '1' order by ca_order, ca_id ";				$result2 = sql_query($sql2);				$count = sql_num_rows($result2);				                for ($k=0; $row2=sql_fetch_array($result2); $k++) {                    if($k == 0)						                        echo '<ul class="sub_menu">'.PHP_EOL;                ?>            <li>                <a href="<?php echo G5_SHOP_URL.'/list.php?ca_id='.$row2['ca_id']; ?>">                    <?php echo $row2['ca_name'] ?>                </a>            </li>            <?php                }                if($k > 0)                    echo '</ul>'.PHP_EOL;                ?>                <?php } ?></div>

원본 소스는 이러하고 


적용시 코드는 


Copy
<div class="sub_ul_container cf">    <h3 class="menu_h3">A</h3>    <ul class="sub_menu">        ...    </ul>    <h3 class="menu_h3">B</h3>    <ul class="sub_menu">        ...    </ul>    <h3 class="menu_h3">C</h3>    <ul class="sub_menu">        ...    </ul></div>

이렇게 출력됩니다.


다만 원하는 결과는 클래스 menu_h3가

ul 클래스인 sub_menu 바로 아래 자식요소의 첫번째로 출력되기를 바랍니다


echo부분을 수정해야하는데 태그를 연달아쓰니 제대로 출력이 안되고 php에러를 일으키던데 혹시 어떻게해야할까요?


|

답변 1개

채택된 답변
+20 포인트

확인해 볼 수 없지만 이렇게 하시면 되는거 아닌가 싶습니다만 

Copy
<div class="sub_ul_container cf">    <?php        // 1단계 분류 판매 가능한 것만        $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);        $gnb_zindex = 999; // gnb_1dli z-index 값 설정용        for ($i=0; $row=sql_fetch_array($hresult); $i++) {        // 2단계 분류 판매 가능한 것만        /* 2단계 분류를 사용하지 않아 주석처리 */            $sql2 = " select ca_id, ca_name from {$g5['g5_shop_category_table']} where LENGTH(ca_id) = '4' and SUBSTRING(ca_id,1,2) = '{$row['ca_id']}' and ca_use = '1' order by ca_order, ca_id ";            $result2 = sql_query($sql2);            $count = sql_num_rows($result2);            for ($k=0; $row2=sql_fetch_array($result2); $k++) {                if($k == 0)                    echo '<ul class="sub_menu">'.PHP_EOL.'                         <h3 class="menu_h3">'.$row['ca_name'].'</h3>'.PHP_EOL.'                         <li>'.PHP_EOL.'                         <a href="'.G5_SHOP_URL.'/list.php?ca_id='.$row2['ca_id'].'">'.$row2['ca_name'].'</a>'.PHP_EOL.'                         </li>'.PHP_EOL;            }            if($k > 0)                echo '</ul>'.PHP_EOL;        }    ?></div>

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