2015-05-12 58 views
0

你好,上級編碼器。基於SQL結果生成動態導航欄?

我試圖做一個商店部分作爲網站的一部分,其中包括一個側邊欄導航欄,可以點擊指定產品的部分,例如,電氣或cctv。我已經通過分配的產品類別,然後生成我正在查詢所有類別的導航欄,然後通過創建HTML循環,做到了這一點,因此欄顯示所有類別

<div class="leftside" id="leftbar"> 
<nav class="menu-top"> 
    <ul class="off-canvas-list" style="font-size: 25px;font-weight: bold"> 
     <li style="padding-top: 2.7rem"></li> 
     <?php foreach ($item_list as $list) { 
      echo "<li><a href='/welcome/shop_search/" . $list->type . "'>" . $list->type . "</a></li>"; 
     } 
     ?> 
    </ul> 
</nav> 

問題是我想能夠使用子類別,但我還沒有得到如何設置SQL數據以及如何將智能添加到循環的線索添加像這樣的主要類別和然後添加下拉子類別。

+------------+----------------+------+-----+---------+ 
| ID   | Name   | Main | Sub | Parent | 
+------------+----------------+------+-----+---------+ 
| 1   | Cabling  | 1 | 0 |   | 
| 2   | network cable | 0 | 1 | cabling | 
| 2   | electric cable | 0 | 1 | cabling | 
+------------+----------------+------+-----+---------+ 

這是我怎麼設置我的SQL和我的目標把某種邏輯if語句一些如何結合子類別的主要類別,所以當循環完成了創建導航欄主電源是相關主電源內的可摺疊按鈕和子類別。

回答

0

你必須做出選擇另一個在每個迭代:

<div class="leftside" id="leftbar"> 
<nav class="menu-top"> 
<ul class="off-canvas-list" style="font-size: 25px;font-weight: bold"> 
    <li style="padding-top: 2.7rem"></li> 
    <?php foreach ($item_list as $list) { 
     echo "<li><a href='/welcome/shop_search/" . $list->type . "'>" . $list->type . "</a></li>"; 


     //select * from types where sub=list->type 
     //$num_rows = mysql_num_rows($select) 
     if($num_rows>0){ 
      echo '<ul>'; 
       //for each 
       //sub 
      echo '</ul>'; 
     } 
    } 
    ?> 
</ul> 

對於我建議你設計的bootstrap navbar

+0

你能看到這是一個MVC結構的任何問題?我正在使用代碼學院 – Rlemm1991

+0

沒有任何問題,如果您不想在視圖中進行選擇,您可以將子項保存在同一個主數組(多維)中,但是您必須先在控制器中編寫兩個循環。 – jpintor

+0

感謝您的幫助,我結束了使用您的想法,但與幫手,而不是保持清潔;-) – Rlemm1991