0

基本的にMySQLデータベースからデータを照会し、メインメニューにul、liメニューとして表示する、PHPを使用してWebページにナビゲーションシステムを構築しています。しかし、ユーザーがそのページに移動したときにナビゲーション メニューを選択する方法がわかりませんでした。私には1つの考えがありますが、ユーザーがそのページに入ったときにデフォルトでホームメニューが選択されません。

それがそのページである場合、アンカータグにそのクラスを与えるために書かれた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 に答える