3차페이지의 서브메뉴명

3차페이지의 서브메뉴명

QA

3차페이지의 서브메뉴명

본문

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

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

3554492705_1697171527.8334.png

 


<?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);

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


$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);

아래 부분을 삭제하고


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>


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>


이게 맞죠?
메뉴이름은 똑같이 안바뀌고..ㅠ
1차메뉴명도 안보이네요...

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

일단 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 부분은 그대로 사용 -->

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


<?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>

이렇게썼더니 1차메뉴 명이 모두 멤버쉽으로 나오네요.ㅠ
제가 초보자라서 죄송합니다.


<?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>

답변을 작성하시기 전에 로그인 해주세요.
전체 8
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT