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

메뉴 출력시 php 문법 질문 채택완료

slingshot 8년 전 조회 1,796

안녕하세요 sir 회원님들

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

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

</p><p><div class="sub_ul_container cf"></p><p>    <?php</p><p><span style="white-space:pre">				</span>// 1단계 분류 판매 가능한 것만</p><p><span style="white-space:pre">				</span>$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><span style="white-space:pre">				</span>$gnb_zindex = 999; // gnb_1dli z-index 값 설정용</p><p><span style="white-space:pre">				</span></p><p><span style="white-space:pre">				</span>for ($i=0; $row=sql_fetch_array($hresult); $i++)</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>?></p><p>        <h3 class="menu_h3"></p><p>            <?php echo $row['ca_name']; ?></p><p>        </h3></p><p>        <?php</p><p><span style="white-space:pre">				</span>$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 ";</p><p><span style="white-space:pre">				</span>$result2 = sql_query($sql2);</p><p><span style="white-space:pre">				</span>$count = sql_num_rows($result2);</p><p><span style="white-space:pre">				</span></p><p>                for ($k=0; $row2=sql_fetch_array($result2); $k++) {</p><p>                    if($k == 0)</p><p><span style="white-space:pre">						</span></p><p>                        echo '<ul class="sub_menu">'.PHP_EOL;</p><p>                ?></p><p>            <li></p><p>                <a href="<?php echo G5_SHOP_URL.'/list.php?ca_id='.$row2['ca_id']; ?>"></p><p>                    <?php echo $row2['ca_name'] ?></p><p>                </a></p><p>            </li></p><p>            <?php</p><p>                }</p><p>
</p><p>                if($k > 0)</p><p>                    echo '</ul>'.PHP_EOL;</p><p>                ?></p><p>                <?php } ?></p><p></div></p><p>

원본 소스는 이러하고 

적용시 코드는 

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

이렇게 출력됩니다.

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

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

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

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

답변 1개

채택된 답변
+20 포인트
l
8년 전

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

</span> </p><p><div class="sub_ul_container cf"></p><p>    <?php</p><p>        // 1단계 분류 판매 가능한 것만</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>        $hresult = sql_query($hsql);</p><p>        $gnb_zindex = 999; // gnb_1dli z-index 값 설정용</p><p>
</p><p>        for ($i=0; $row=sql_fetch_array($hresult); $i++) {</p><p>        // 2단계 분류 판매 가능한 것만</p><p>        /* 2단계 분류를 사용하지 않아 주석처리 */</p><p>            $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 ";</p><p>            $result2 = sql_query($sql2);</p><p>            $count = sql_num_rows($result2);</p><p>
</p><p>            for ($k=0; $row2=sql_fetch_array($result2); $k++) {</p><p>                if($k == 0)</p><p>                    echo '<ul class="sub_menu">'.PHP_EOL.'</p><p>                         <h3 class="menu_h3">'.$row['ca_name'].'</h3>'.PHP_EOL.'</p><p>                         <li>'.PHP_EOL.'</p><p>                         <a href="'.G5_SHOP_URL.'/list.php?ca_id='.$row2['ca_id'].'">'.$row2['ca_name'].'</a>'.PHP_EOL.'</p><p>                         </li>'.PHP_EOL;</p><p>            }</p><p>
</p><p>            if($k > 0)</p><p>                echo '</ul>'.PHP_EOL;</p><p>        }</p><p>    ?></p><p></div></p><div>
로그인 후 평가할 수 있습니다

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

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

로그인