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 技能。如果上面的代码中有任何错误的方法,请告诉我。

4

1 回答 1

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 ){

如果我理解正确,我认为这会起作用。

于 2012-06-08T10:51:41.803 回答