2012-06-08 34 views
0

我正在使用PHP在網頁上構建導航系統,基本上查詢來自MySQL數據庫的數據並在主菜單上顯示爲ul,li菜單。但我不知道如何在用戶轉到該頁面時選擇導航菜單。我有一個想法,但是當用戶進入該頁面時,默認情況下不會選擇主菜單。如何在特定頁面上選擇導航菜單?

我還寫了一個CSS類,如果它是該頁面,則將該類給予錨標記。

這裏是我的PHP代碼:

//Query Functions 
function queryMenu() { 
    $query = "SELECT * FROM menu_en"; 
    return $query; 
} 

// Render Functions 
function renderNav() { 
    $menus = queryMenu(); 
    $queryMenu = mysql_query($menus); 
    while($navigation = mysql_fetch_array($queryMenu)){ 
     if($navigation['id'] == $_GET['pageId']){ 
      echo '<li> 
        <a href="index.php?pageId="'.$navigation['id'].' class="selected" >'.$navigation['menu_title']. 
       '</a></li>'; 
     }else{ 
      echo '<li><a href="index.php?pageId="'.$navigation['id'].'>'.$navigation['menu_title'].'</a></li>'; 
     } 
    } 
} 

推薦我成爲一個更好的方式來做到這一點,因爲我想提高我的技能PHP。如果在上面的代碼中有任何錯誤的方法,請讓我知道。

回答

1

如果主頁是當$ _GET [ 'PAGEID']沒有設置你可以檢查使用isset()函數

if(isset($_GET['pageId'])) { 
    $page = $_GET['pageId'] 
} else { 
    $page = $homePageId; // the ID of the home page. 
} 

那麼你會替換此行:

if($navigation['id'] == $_GET['pageId']){ 

與此行:

if($navigation['id'] == $page){ 

我認爲這將工作,如果我正確理解你。

+0

有沒有其他更好的方法來做到這一點?我的意思是在我的方法 – monk

+0

我不這麼認爲,你有正確的想法。 –

相關問題