我正在使用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技能。如果上面的代码中有任何错误的方法,请告诉我。
答案 0 :(得分: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 ){
如果我理解正确的话,我认为这会有用。