2012-06-08 2 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'] не установлен можно проверить с помощью Исеть()

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

Тогда вы бы заменить эту строку:

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

с этим line:

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

Я думаю, что это сработает, если я вас правильно пойму.

+0

есть ли другой лучший способ сделать это, чем это? я имею в виду в моем подходе – monk

+0

Я так не думаю, у вас есть правильная идея. –

Смежные вопросы