답변 5개 / 댓글 7개
채택된 답변
+20 포인트
eyekiss
2023-10-07 (토) 03:49:25
아래 소스를 2차메뉴 다음에 추가해보세요.
Copy
<li class='on'>
<?php
$sql3 = " select * from {$g5['menu_table']} where length(me_code) = '6' and me_link like '%".$filter_type5."%' and me_use = '1' order by me_order, me_id "; // me_code가 6개 이상인 3차 메뉴 가져온다.
$row3 = sql_fetch($sql3);
echo $row3['me_name'];
?>
<ul>
<?php
$sql3 = " select * from {$g5['menu_table']} where me_code like '".substr($me_code, 0, 4)."%' and length(me_code) = '6' and me_use = '1' order by me_order, me_id "; // 3차메뉴를 불러온다.
$query3 = sql_query($sql3);
while($submenu3 = sql_fetch_array($query3)){
echo "<a href='".$submenu3['me_link']."'><li>".$submenu3['me_name'].'</li></a>';
}
?>
</ul>
</li>
답변에 대한 댓글 2개
3차 메뉴는 원하는 위치에 됐는데요
3차메뉴에 따른 1차,2차메뉴가출력이 안되는데 이것도 도움을 주실수 있으실까요?

감사합니다. 코드는 아래와 같고,
DB구조는 10 - 1차메뉴, 1010-2차메뉴 , 202010 - 3차메뉴 입니다.

Copy
<?php
$sql = " select * from {$g5['menu_table']} where length(me_code) = '4' and me_link like '%".$filter_type5."%' and me_use = '1' order by me_order, me_id "; // me_code가 4개 이상인 2차 메뉴 가져온다.
$query = sql_query($sql);
$total_count = sql_num_rows($query);
$row = sql_fetch_array($query);
$sqlc = " select * from {$g5['menu_table']} where length(me_code) = '2' and me_link like '%".$filter_type5."%' and me_use = '1' order by me_order, me_id "; // me_code가 4개 이상인 2차 메뉴 가져온다.
$queryc = sql_query($sqlc);
$rowc = sql_fetch_array($queryc);
$rowc['me_code'] = isset($rowc['me_code']) ? $rowc['me_code'] : false;
$row['me_code'] = isset($row['me_code']) ? $row['me_code'] : false;
if($rowc['me_code']){
$me_code = $rowc['me_code'];
} else {
$me_code = $row['me_code'];
}
$keyword = substr($me_code, 0, 2);
$sql_submenus = " select * from {$g5['menu_table']} where length(me_code) = '2' and me_use = '1' order by me_order, me_id "; // 2차메뉴 전체를 불러온다.
$query_submenus = sql_query($sql_submenus); // 쿼리 실행
$sql_submenu = " select * from {$g5['menu_table']} where me_code = '".$keyword."' and length(me_code) = '2' and me_use = '1' order by me_order, me_id "; // 2차메뉴를 불러온다.
$query_submenu = sql_query($sql_submenu); // 쿼리 실행
$total_count_submenu = sql_num_rows($query_submenu); // 해당하는 쿼리가 몇개나있는가?
$submenu_row = sql_fetch_array($query_submenu); // array형태로 재배열
$sql2 = " select * from {$g5['menu_table']} where me_code like '".$keyword."__' and length(me_code) = '4' and me_use = '1' order by me_order, me_id "; // 2차메뉴를 불러온 뒤, 앞선 2가지 메뉴코드를 통해 me_code 1차 메뉴 가져온다.
$query2 = sql_query($sql2); // 쿼리 실행
$total_count2 = sql_num_rows($query2); // 해당하는 쿼리가 몇개나있는가?
if(!$filter_type5){
$keyword = 10;
if(strpos($_SERVER['PHP_SELF'], 'bbs')){
$submenu_row['me_name'] = '멤버쉽';
$row['me_name'] = $g5['title'];
}
}
if(!$keyword){
$keyword = 10;
if(strpos($_SERVER['PHP_SELF'], 'bbs')){
$submenu_row['me_name'] = '멤버쉽';
$row['me_name'] = $g5['title'];
}
}
?>
<!-- 서브배너 시작 -->
<div id="sub_background" class="l<?php echo $keyword?>">
<h1 class="wow fadeInUp"><?php echo $submenu_row['me_name']?></h1>
<h2 class="wow fadeInUp"><?php echo $row['me_name']?></h2>
</div>
<!-- 서브배너 종료 -->
<!-- 서브메뉴 시작 -->
<div id="sub_menu">
<div class="wrap">
<ul class="depth01">
<li><a href="<?=G5_URL?>"><i class="fa fa-home" aria-hidden="true"></i></a></li>
<li><?php echo $submenu_row['me_name'];?>
<ul>
<?php
while($sr = sql_fetch_array($query_submenus)){
echo "<a href='".$sr['me_link']."'><li>".$sr['me_name'].'</li></a>';
}
?>
</ul>
</li>
<li class='on'>
<?php echo $row['me_name']; ?>
<ul>
<?php
while($two_submenu = sql_fetch_array($query2)){
echo "<a href='".$two_submenu['me_link']."'><li>".$two_submenu['me_name'].'</li></a>';
}
?>
</ul>
</li>
</ul>
</div>
</div>
<!-- 서브메뉴 종료 -->
<script>
$(function(){
$(".depth01").find("> li").click(function(){
$(this).find("> ul").slideToggle();
})
})
</script>
eyekiss
2023-10-05 (목) 16:12:01
해당부분에 2차메뉴까지의 소스를 올려주시면 답변 드릴께요.
답변에 대한 댓글 2개
영카트 인가요?
답변에 대한 댓글 3개
eunoK
2023-10-06 (금) 09:20:20
아니요~ 관리자모드는 검색해서 3차메뉴 생성까지 가능하다구요~
근데 일반페이지에서는 출력하는 방법은 검색해도 잘 안나오고해서 여기 올려보았어요~~
근데 일반페이지에서는 출력하는 방법은 검색해도 잘 안나오고해서 여기 올려보았어요~~
답변을 작성하려면 로그인이 필요합니다.
