메뉴 출력시 php 문법 질문 채택완료
안녕하세요 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개
확인해 볼 수 없지만 이렇게 하시면 되는거 아닌가 싶습니다만
</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>
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인