레프트 좌측 추출 메뉴 문의드립니다.

레프트 좌측 추출 메뉴 문의드립니다.

QA

레프트 좌측 추출 메뉴 문의드립니다.

본문

안녕하세요!

 

https://sir.kr/g5_skin/7515 레프트메뉴 소스 받아서 이용중에 있습니다!

그런데 내용 제목이나 게시판 제목이 같을 경우 ul을 보이도록 하는 자바스크립트 구문(display:block)으로 만든 소스라서, 같은 제목이 있을 경우 ul 대메뉴가 모두 출력이 됩니다.

 

행사/대회일정이 2개라서 2개가 출력됩니다.....

초보자라 어떻게 수정해야 할지 몰라서 여쭙니다 ㅠㅠ

 

2034392922_1606148833.807.jpg

 

 


<script type="text/javascript">
<!--
    function display_submenu(num) { 
         document.getElementById("mysub"+num).style.display="block";
    }
//-->
</script>
<div id="mysubmenu">
    <?php
    $sql = " select *
                from {$g5['menu_table']}
                where me_use = '1'
                  and length(me_code) = '2'
                order by me_order, me_id ";
    $result = sql_query($sql, false);
    $gnb_zindex = 999; // gnb_1dli z-index 값 설정용
    for ($i=0; $row=sql_fetch_array($result); $i++) {
    ?>
    <ul id="mysub<?php echo $i ?>" style="display:none;">
        <a href="<?php echo $row['me_link']; ?>" target="_<?php echo $row['me_target']; ?>" ><li class="leftmenu_b"><?php echo $row['me_name'] ?></li></a>
            <?php
            $sql2 = " select *
                        from {$g5['menu_table']}
                        where me_use = '1'
                          and length(me_code) = '4'
                          and substring(me_code, 1, 2) = '{$row['me_code']}'
                        order by me_order, me_id ";
            $result2 = sql_query($sql2);
            
            //좌측 서브메뉴 전체 리스트에서 현재 페이지에 해당하는 대메뉴 리스트만 보여줌
            if ( ($row['me_name']==$board['bo_subject'])||($row['me_name']==$g5['title']) ) {
                echo ("<script language='javascript'> display_submenu(" .$i. " ); </script> ");
            }
    
            for ($k=0; $row2=sql_fetch_array($result2); $k++) {
                if($k == 0)
                    echo '<ul>'.PHP_EOL;
            ?>
                <a href="<?php echo $row2['me_link']; ?>" target="_<?php echo $row2['me_target']; ?>" ><li class="leftmenu_s"><?php echo $row2['me_name'] ?></li></a>
            <?php  
                //좌측 서브메뉴 전체 리스트에서 현재 페이지에 해당하는 대메뉴 리스트만 보여줌
                if ( ($row2['me_name']==$board['bo_subject'])||($row2['me_name']==$g5['title']) ) {
                    echo ("<script language='javascript'> display_submenu(" .$i. " ); </script> ");
                }
            }
            if($k > 0)
                echo '</ul>'.PHP_EOL;
            ?>
    </ul>
    <?php } ?>

</div>

이 질문에 댓글 쓰기 :

답변 2

if ( ($row['me_name']==$board['bo_subject'])||($row['me_name']==$g5['title']) ) {

 

이 조건문이랑

 

if ( ($row2['me_name']==$board['bo_subject'])||($row2['me_name']==$g5['title']) ) {

 

이 조건문 두개를 보시면 메뉴명과 게시판제목으로 판단후에 보여주고있는것 같은데요

 

여기를 if (strpos($row['me_link'] , $bo_table){

 

이런식으로 바꿔보세요. 소스가 정확히 될지는 모르겠지만 (무턱대고 복붙해도 안될 확률이 큽니다)

 

소스의 흐름은 

메뉴의 링크값($row['me_link']) 에 $bo_table (게시판 아이디값)이 있다면, 조건문 실행

입니다.

 

이 힌트가지고 연구해보시면 될것 같습니다.

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

회원로그인

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