테스트 사이트 - 개발 중인 베타 버전입니다

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

오똥이 5년 전 조회 2,419

안녕하세요!

 

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

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

 

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

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

 

 

 

</p>

<p><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 값 설정용</p>

<p>    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  </p>

<p>                //좌측 서브메뉴 전체 리스트에서 현재 페이지에 해당하는 대메뉴 리스트만 보여줌

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

                    echo ("<script language='javascript'> display_submenu(" .$i. " ); </script> ");

                }</p>

<p>            }</p>

<p>            if($k > 0)

                echo '</ul>'.PHP_EOL;

            ?>

    </ul>

    <?php } ?></p>

<p>

</div></p>

<p>

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

답변 2개

채택된 답변
+20 포인트
5년 전

제목에 공백을 넣어보세요

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

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

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 (게시판 아이디값)이 있다면, 조건문 실행

입니다.

 

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

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

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

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

로그인