2013-12-16 94 views
0

你好我最近開始學習PHP & mySql,我想創建一個動態的多級下拉菜單模塊,我一直在遵循一些教程,但我似乎無法得到它的工作請幫忙。從動態數據庫動態CSS下拉菜單

我有1臺命名爲:菜單

ID ...... PARENT_ID ....名稱

1 ........... 0 ..... ......家
2 ........... 0 ...........大約
3 ........... 0。 ..........產品
4 ........... 2 ...........我做什麼
5 ....... .... 3 ........... cans

這裏是我使用的代碼。

<?php 
require_once "db_con.php"; 

echo '<ul>'; 
$main_set = "SELECT * FROM menu WHERE parent_id =0 ORDER BY id ASC"; 
$query = mysqli_query($con, $main_set) or die (mysqli_error()); 

$menuDisplay = ''; 

while ($row = mysqli_fetch_array($query)) { 
    $pid = $row["pages_id"]; 
    $name = $row["name"]; 
    $menuDisplay .= '<li><a href="listed_menu.php?pid=' . $pid . '">' . $name . '</a></li> '; 

} 

echo $menuDisplay; 

echo '<ul>'; 

$sub_set = "SELECT * FROM menu WHERE parent_id ={$pid} ORDER BY id ASC"; 
$query = mysqli_query($con, $sub_set) or die (mysqli_error()); 

$menuDisplay = ''; 

while ($row = mysqli_fetch_array($query)) { 
    $pid = $row["pages_id"]; 
    $name2 = $row["name"]; 
    $menuDisplay .= '<li><a href="listed_menu.php?pid=' . $pid . '">' . $name2 . '</a></li> '; 

} 

echo $menuDisplay; 
echo '</ul>'; 
echo '</ul>'; 
mysqli_free_result($query); 
?> 

現在它應該看起來像這樣:

    • 我做什麼
  • 產品

,但它只能說明:

  • 產品

,如果我把產品和易拉罐下PARENT_ID 2它只表示子項目但不與其他任何parent_id

請幫助我,我即將扔掉窗外的東西,thnx :)

回答

0

您的第二個查詢不在循環內部,所以它只運行最後一個值爲$pid(3)。該值(「產品」)沒有子項目,因此您在屏幕上看不到任何內容。把你的第二個查詢放在一個循環中,這樣你就可以使用每個$pid