1

ff のように、ナビゲーション バーのデータベースからナビゲーション項目を取得する場合: Select * FROM table WHERE linkcatagory = 'main-menu'; << これにより、すべてのメイン メニュー項目が一覧表示されます。これらの項目の 1 つに、データベースから取得する必要があるサブ項目がある場合はどうなるでしょうか。サブメニューの linkcategory も宣言しました。したがって、ロジックは、メイン項目にカーソルを合わせると、サブメニューもデータベースから取得されるというものです。どうすればそれを機能させることができますか?

以下のコードは私のサンプル マークアップですが、正しくないと思います。

<?php include "includes/config.php";
$sql = "Select * FROM sites WHERE site_category = 'main-menu'";
$result = mysql_query($sql);
?>
<header>
<a href="index.php" class="logo"><h1>Website</h1></a><!--LOGO-->
<div id="gutter"></div><!--gutter-->
    <nav>
     <ul id="menu">
        <?php while($record = mysql_fetch_array($result)){

        $sitename = $record['site_name'];
        $sitelink = $record['site_link'];

        if($sitename == 'products'){
        ?>
        <li><a href="<?= $sitelink ?>" onMouseOver=""><?= $sitename ?></a>

            <ul class="submenu">
                <?php 
                    $sql = "Select * FROM sites WHERE 
                                             site_category = 'sub-menu'";
                    $result = mysql_query($sql);

                    while($record = 
                                            mysql_fetch_array($result)){
                ?>
                    <li><a href="<?= $sitelink ?>"><?= 
                                            $sitename ?></a></li>

                    <?php
                    }//while close 
                    ?>
            </ul>
        </li>
    <?php
    }else{
        echo "<li><a href=".$record['site_link'].">".$record['site_name']."
                         </a></li>";
    }
      }//while close?>
     </ul><!--menu-->
    </nav><!--NAV-->
</header><!--HEADER-->
4

1 に答える 1

0

私がコメントしたように、私が使用する機能を提供することはできませんが、重複の可能性がある質問には多くの回答があります。

PHP/MySQL ナビゲーション メニュー

php と MySQLi による再帰メニュー

選択した親のツリー メニューを表示する

PHP/MySQL による階層再帰メニュー

于 2012-11-24T03:02:13.083 に答える