2013-12-18 2 views
0

내 CSS 메뉴에 대한 코드가 아래에 있습니다. PHP를 사용하여 데이터베이스의 모든 링크를 가져옵니다.CSS 메뉴의 PHP 하위 메뉴에 대한 활성/현재 링크

최상위 레벨 링크에는 잘 작동하지만 하위 메뉴에는 잘 작동하는 선택된 항목에 대한 활성/현재 링크를 설정했습니다.

Services 
- Service 1 
-- Sub Service 1 

하위 서비스 1 링크를 선택하면 1 선택하면 링크/활성 최신 서비스 만이, 내가 원하는 서비스 경우

예를 들어, 나는 다음과 같은이 서비스 링크가 활성/현재 상태가 아닌 경우

어떻게하면 아래 코드를 사용하여 해결할 수 있습니까?

<ul class="nav"> 
<?php 
//select all the top row items 
$sql="SELECT * from website_menu where parent_top = '' and parent = '' order by sequence ASC "; 
$rs=mysql_query($sql,$conn) or die(mysql_error()); 
while($result=mysql_fetch_array($rs)) 
{ 
    //then select all the next rows down (parent_top) 
    $current = false; 
    $subMenu = ''; 
    $sql2="SELECT * from website_menu where parent_top = '".$result["sequence"]."' order by sequence ASC "; 
    $rs2=mysql_query($sql2,$conn) or die(mysql_error()); 
    if(mysql_num_rows($rs2) > 0) 
    { 
    $subMenu = '<ul>'; 
    while($result2=mysql_fetch_array($rs2)) 
    { 
     if($_GET["id"] == $result2["link"]) 
     { 
      $current = true; 
     } 
     $subMenu .= '<li><a href="'.$settings["website_url"].'/'.$result2["link"].'"><span>'.$result2["title"].'</span></a>'; 
     // 
     $sql3="SELECT * from website_menu where parent = '".$result2["sequence"]."' "; 
     $rs3=mysql_query($sql3,$conn) or die(mysql_error()); 
     if(mysql_num_rows($rs3) > 0) 
     { 
      $subMenu .='<ul>'; 
      while($result3=mysql_fetch_array($rs3)) 
      { 
       $subMenu .='<li><a href="'.$settings["website_url"].'/'.$result3["link"].'"><span>'.$result3["title"].'</span></a></li>'; 
      } 
      $subMenu .='</ul>'; 
      $subMenu .='</li>'; 
     } 
     else 
     { 
      $subMenu .='</li>'; 
     } 
    } 
    $subMenu .= '</ul>'; 
} 
    echo '<li'; 
if($_GET["id"] == $result["link"] || $current) 
{ 
    echo ' class="active"'; 
} 
echo '><a href="'.$settings["website_url"].'/'.$result["link"].'"><span>'.$result["title"].'</span></a>', $subMenu, '</li>'; 
} 
?> 
</ul> 

답변

0

이 변경

while($result3=mysql_fetch_array($rs3)) 
    { 
     $subMenu .='<li><a href="'.$settings["website_url"].'/'.$result3["link"].'"><span>'.$result3["title"].'</span></a></li>'; 
     // add this if block 
     if($_GET["id"] == $result3["link"]) 
     { 
      $current = true; 
     } 
    } 
에게 당신의 다음 while loop 메이크업에서이

을 시도 할 수도 있습니다

관련 문제