2012-11-24 154 views
1

如果我从我的导航栏的数据库中获取导航项目,如ff:Select * FROM table WHERE linkcatagory ='main-menu'; < <这将列出所有主菜单项,如果其中一项具有也必须从数据库中提取的子项目会发生什么。我还为我的子菜单声明了一个链接类别。所以逻辑是当我通过主要项目进行盘旋时,子菜单也会从数据库中取出。我怎样才能使它工作?如何用数据库下拉菜单创建导航菜单?

下面的代码是我的示例标记,但我不认为它是正确的。

<?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--> 
+0

你需要建立一个数据库的结构,其中包括menu_id&menu_parent_id再一次获取所有菜单项,然后用一个自调用函数对其进行处理建立您的菜单结构与层次结构...如果你喜欢我可以张贴我使用的一个,但它有点复杂 - 我使用不同的风格控制d由另一个参数 –

+0

我可以试试.. –

+0

好吧,那么你在这里是我的朋友... http://phpfiddle.org/lite/code/fb4-6uc –

回答