3차페이지의 서브메뉴명

서브페이지에서 3차메뉴명은 질문해가지고 노출되게 추가는 했는데요.

3차메뉴 페이지에서 1,2차메뉴명이 노출이 제대로 않되는데 소스 봐주실분 계실까요?
 

3554492705_1697171527.8334.png

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) = '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개

다음과 같이 수정해 볼 수 있을것 같습니다.

Copy
<?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 부분은 그대로 사용 -->
로그인 후 평가할 수 있습니다

답변에 대한 댓글 4개

이렇게 하는거 아니었을까요??
뭐 때문인지 안되네요;;

[code]
<?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 부분은 그대로 사용 -->
<!-- 서브배너 시작 -->
<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>

[/code]
// 3차 메뉴 루프
while ($row3 = sql_fetch_array($query3)) {
echo "<h2 class='wow fadeInUp'>" . $row3['me_name'] . "</h2>";
}
}
// 이하 $keyword 관련 부분들이 빠진 것 같은데요
이렇게썼더니 1차메뉴 명이 모두 멤버쉽으로 나오네요.ㅠ
제가 초보자라서 죄송합니다.

[code]
<?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>";
}
}



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>
[/code]
키워드 부분에 eyekiss 님의 답글을 적용시켜 보세요

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

Copy
<?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);
로그인 후 평가할 수 있습니다

답변에 대한 댓글 7개

기존에 있떤 아래의 소스를 위에꺼로 변경하라는 말일까요?
뭐때문인지..안되네요.; 잘못넣었던건지...

[code]
$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);
[/code]
넵.. 윗부분만 수정하면 될텐데요??
메뉴가 어떻게 나오나요??
아무변화도 없네요 ㅠ
아래 부분을 삭제하고
[code]
if(!$filter_type5){
$keyword = 10;
if(strpos($_SERVER['PHP_SELF'], 'bbs')){
$submenu_row['me_name'] = '멤버쉽';
$row['me_name'] = $g5['title'];
}
}
[/code]

아래 부분은 수정해보세요
[code]
if(!$keyword){
$keyword = 10;
if(strpos($_SERVER['PHP_SELF'], 'bbs')){
$rowc['me_name'] = '멤버쉽';
$row['me_name'] = $g5['title'];
}
}
?>
<!-- 서브배너 시작 -->
<div id="sub_background" class="l<?php echo $keyword?>">
<h1 class="wow fadeInUp"><?php echo $rowc['me_name']?></h1>
<h2 class="wow fadeInUp"><?php echo $row['me_name']?></h2>
</div>
[/code]
[code]
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')){
$rowc['me_name'] = '멤버쉽';
$row['me_name'] = $g5['title'];
}
}
?>
<!-- 서브배너 시작 -->
<div id="sub_background" class="l<?php echo $keyword?>">
<h1 class="wow fadeInUp"><?php echo $rowc['me_name']?></h1>
<h2 class="wow fadeInUp"><?php echo $row['me_name']?></h2>
</div>
[/code]

이게 맞죠?
메뉴이름은 똑같이 안바뀌고..ㅠ
1차메뉴명도 안보이네요...
이 부분을 삭제하세요.
[code]
if(!$filter_type5){
$keyword = 10;
if(strpos($_SERVER['PHP_SELF'], 'bbs')){
$submenu_row['me_name'] = '멤버쉽';
$row['me_name'] = $g5['title'];
}
}
[/code]
혹시나 해서 삭제했는데 그렇게 해봤는데.. 안되네요 ㅠ

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

$row['me_name'] = $g5['title'];

이거때문에 그런거아님?

로그인 후 평가할 수 있습니다

답변에 대한 댓글 3개

아니네요 그럼 멤버쉽 밑에 글자가 그냥 안나오네요
지우라는 말이아니라 title로 덮어쓰니까 메뉴이름이 안나온다는말인뎅;
죄송합니다요~ 초보자라서.; 어떻게 하는건지 모르겠네요.ㅠ

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

어후 복잡해라 --;;머리 쥐나요;;

일단 1.2차 메뉴를 불러오는부분 이 filter_type5 ???????..............이상하긴하네요;;;

$filter_type5 ? 대한 변수 설정이 어떻게 되어있나요?

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

어떤걸로 봐야하는지..잘 모르겠네요ㅠㅠ 테마를 구입해서 사용하고 있는거라서;;

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

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

로그인
🐛 버그신고