특정 네비게이션 바에만 스타일 active 가 안되는 이유가 뭘까요?
본문
아래는 menu.php
$menuSql = "select * from g4_topschool_category where ca_id like '$groupId%' and ca_openchk='y' order by ca_id";
$menuRes = sql_query($menuSql);
$nav = "HOME";
function callName($id){
$menuSql = "select * from g4_topschool_category where ca_id = '$id' order by ca_id";
$menuRow = sql_query($menuSql);
$menuRes = sql_fetch($menuSql);
return $menuRes[ca_name];
}
<ul id="sNavigation" class="menu"> //아래서 부터 메뉴
for ($i=0; $menuRow = sql_fetch_array($menuRes) ; $i++) {
if(strlen($menuRow[ca_id]) == 2){
$nav .= " <img alt='다음' src='/img_cb/icon_arrow.png'> ".$menuRow[ca_name];
}
if(strlen($menuRow[ca_id]) == 4){
if($menuRow[ca_id]==substr($cate_id,0,4)){
$style="active";
}else{
$style="";
}
$overImg="";
if($menuRow[ca_id] == substr($cate_id,0,4)){
$nav .= " <img alt='다음' src='/img_cb/icon_arrow.png'> ".$menuRow[ca_name];
}
if(($member[mb_id] && ($menuRow[ca_id]=="9010" || $menuRow[ca_id]=="9020")) || (!$member[mb_id] && $menuRow[ca_id]=="9030")){
}else{
echo "<li class='li-link $style' data-menu='$i' data-href='".$menuRow[ca_url]."' title='$menuRow[ca_name]'>";
echo $menuRow[ca_name];
echo "</li>";
아래는 위의 sql 쿼리에 해당 하는 테이블 입니다.
이미지 테이블을 보시면 마지막 "묻고 답하기"의 ca_id = 4050입니다.
for문에서 그룹아이디 40,을 시작해서 돌다보면 해당값에 포함된 if($menuRow[ca_id]==substr($cate_id,0,4)){
$style="active";
ca_id 값 과 == substr($cate_id,0,4) 값이 4050으로 동일 한데요
희안하게 ca_id값인 4040에 li-link active 가 됩니다.
다음은 결과의 소스보기에서 메뉴를 따온거에요.
보시면 주소란에 cate_id=4050 인데요
<li class='li-link active' data-menu='16' data-href='/bbs/content.php?ct_id=37&cate_id=4040' title='예방 접종'>예방 접종</li><li class='li-link ' data-menu='17' data-href='/bbs/board.php?bo_table=FAQ&cate_id=4050' title='묻고 답하기'>묻고 답하기</li>
결과는 이렇습니다.
혹시 버그일까요? 아니면 무슨 이유로 저런현상이 벌어 질까요?
해당사이트에 2개의 카테고리에만 저런현상이 있습니다. 다른 카테고리는 잘됩니다.ㅠㅠ
!-->!-->
답변을 작성하시기 전에 로그인 해주세요.