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

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

QA

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

본문


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

 

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

 

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

 

테스트를 해보았습니다.

 

메뉴를 클릭하면 해당메뉴에 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

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

회원로그인

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