3차페이지의 서브메뉴명
본문
서브페이지에서 3차메뉴명은 질문해가지고 노출되게 추가는 했는데요.
3차메뉴 페이지에서 1,2차메뉴명이 노출이 제대로 않되는데 소스 봐주실분 계실까요?
<?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) = '6' 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>
<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>
</ul>
</div>
</div>
<!-- 서브메뉴 종료 -->
<script>
$(function(){
$(".depth01").find("> li").click(function(){
$(this).find("> ul").slideToggle();
})
})
</script>
답변 4
<?php
$keyword = substr($me_code, 0, 4);
$sql = " select * from {$g5['menu_table']} where me_code = '".$keyword." and me_use = '1' "; // 2차 메뉴 가져온다.
$query = sql_query($sql);
$total_count = sql_num_rows($query);
$row = sql_fetch_array($query);
$keyword = substr($me_code, 0, 2);
$sqlc = " select * from {$g5['menu_table']} where me_code = '".$keyword." and me_use = '1' "; // 1차 메뉴 가져온다.
$queryc = sql_query($sqlc);
$rowc = sql_fetch_array($queryc);
어후 복잡해라 --;;머리 쥐나요;;
일단 1.2차 메뉴를 불러오는부분 이 filter_type5 ???????..............이상하긴하네요;;;
$filter_type5 ? 대한 변수 설정이 어떻게 되어있나요?
$row['me_name'] = $g5['title'];
이거때문에 그런거아님?
다음과 같이 수정해 볼 수 있을것 같습니다.
<?php
// 여기서 데이터베이스 연결 및 설정을 수행해야 합니다.
// 1차 메뉴 가져오기
$sql = "SELECT * FROM {$g5['menu_table']} WHERE length(me_code) = '2' AND me_use = '1' ORDER BY me_order, me_id";
$query = sql_query($sql);
// 1차 메뉴 루프
while ($row = sql_fetch_array($query)) {
$me_code = $row['me_code'];
// 2차 메뉴 가져오기
$sql2 = "SELECT * FROM {$g5['menu_table']} WHERE me_code LIKE '{$me_code}__' AND length(me_code) = '4' AND me_use = '1' ORDER BY me_order, me_id";
$query2 = sql_query($sql2);
$row2 = sql_fetch_array($query2);
// 2차 메뉴가 없으면 1차 메뉴 이름 사용
$menu_name = isset($row2['me_name']) ? $row2['me_name'] : $row['me_name'];
// 메뉴 출력
echo "<h1 class='wow fadeInUp'>$menu_name</h1>";
// 3차 메뉴 가져오기
$sql3 = "SELECT * FROM {$g5['menu_table']} WHERE me_code LIKE '{$me_code}__' AND length(me_code) = '6' AND me_use = '1' ORDER BY me_order, me_id";
$query3 = sql_query($sql3);
// 3차 메뉴 루프
while ($row3 = sql_fetch_array($query3)) {
echo "<h2 class='wow fadeInUp'>" . $row3['me_name'] . "</h2>";
}
}
?>
<!-- 나머지 HTML 및 JavaScript 부분은 그대로 사용 -->
답변을 작성하시기 전에 로그인 해주세요.