簡體   English   中英

如何在該特定頁面上選擇導航菜單?

[英]How to make navigation menu selected on that particular page?

我正在使用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技能。 同時請讓我知道以上代碼中是否有錯誤的方法。

如果主頁未設置$ _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 ){

如果我正確理解你的話,我認為這會起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM