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

class 동시 적용 (strstr이용 했음.) (재수정 했습니다.) 채택완료

궈구마 9년 전 조회 1,945

</p><p>$lMenu = get_middle_navi(); </p><p> </p><p>    <?php</p><p>      if($lMenu['cnt']) {</p><p>      for($i=0; $i<$lMenu['cnt']; $i++) {</p><p>      $lm = $lMenu[$i];</p><p>      </p><p>      if($co_id)</p><p>      $sel = strstr($lm['me_link'],$co_id)?"class_on":"";</p><p>      if($bo_table)</p><p>      $sel = strstr($lm['me_link'],$bo_table)?"<span style="font-size: 14.6667px;">class_on</span>":"";</p><p>      ?></p><p><li><a href="<?php echo($lm['me_link']);?>" class="gnb_fav <?php echo $sel ?>"><?php echo($lm['me_name']);?></a></li> </p><p><?php } ?></p><p> </p><p>

 

이렇게 코드를 작성했습니다.

 

그래서 관리자에 들어가서 메뉴설정에서 메뉴를 만들어준다음에

 

테스트를 해보았습니다.

 

메뉴를 클릭하면 해당메뉴에 class_on 이라는 class가 들어가게 되는데요.

 

네, 아주 잘 작동하는데 버그가 있더군요

 

아마 strstr 이란 함수가 무조건 같은 글자가 있으면 true를 반환하는거 같은데..

 

메뉴설정에서 링크를

 

/bbs/board.php?bo_table=board1

/bbs/board.php?bo_table=board2

/bbs/board.php?bo_table=board3

 

이렇게 링크를 작성해주고 확인을 누른다음에

 

다시 테스트를 해보면

 

링크 board1,2,3에 전부 class_on 이라는 class가 들어갑니다..

 

/bbs/board.php?bo_table=a1

/bbs/board.php?bo_table=b2

/bbs/board.php?bo_table=c3

 

이렇게 하면 a1누르면 a1에 class_on이 들어가고

b2누르면 b2에 class_on이 들어가고

 

각각 클릭했을때 class가 잘 들어가는데

 

board1,2,3 저 링크만 주면

 

board1 클릭해도 2,3에 전부 class_on 이라는 class가 들어갑니다..

 

아마 계속 테스트해보기엔 board라는 글자가 다 똑같기때문에

 

전부 class를 넣어주는거 같은데.. 방법이 없을까요?

 

아, 그리고 board1,2,3이 있으면 board1을 누르면 2,3에 전부 class가 들어가지만

 

board2를 누르면 1,3에는 들어가지 않습니다.. 참 희얀합니다;

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

답변 2개

질문이 어렵긴합니다..;;

 

for문 바로 윗줄에

 $sel = "";

초기화 처리 한번 해보세요.. 

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

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

만드신 소스인거 같은데 각 변수에 어떤값들이 들어가는지 알수가 없어 답을 드릴수가 없습니다.

우측 상단 질문하는 방법 참고하시면 도움 되실겁니다.

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

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

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

로그인