我遇到了以下問題,我有一個sidemenu並基於$ _GET ['貓']它必須顯示內容。帶SQL的PHP動態菜單
所以我打電話給我的函數:function showCat($ cat),$ cat = $ _GET ['cat']。
功能showCat是這樣的:
function showCat($cat){
$cat= mysql_real_escape_string($cat);
connectDatabase();
$menuquery = mysql_query("SELECT c_id, c_naam FROM categorie WHERE c_parent = '0'");
while ($row = mysql_fetch_array($menuquery))
{
$c_id = $row["c_id"];
$c_naam = $row["c_naam"];
$c_parent = $row["c_parent"];
echo "<a href='producten.php?cat=$c_id'>$c_naam<br>";
if ($cat == "0")
{
}
else
{
$query2 = mysql_query("SELECT c_id, c_naam, c_parent FROM categorie WHERE c_parent = '$cat' "); // 5
while ($row2 = mysql_fetch_array($query2))
{
$c_id2 = $row2["c_id"]; // 11
$c_naam2 = $row2["c_naam"]; // test
if ($c_id == $cat)
{
echo "<a href='producten.php?cat=$c_id2'>- $c_naam2<br>";
}
else
{
echo "<a href='producten.php?cat=$c_id2'>- $c_naam2<br>";
$query3 = mysql_query("SELECT c_id, c_naam, c_parent FROM categorie WHERE c_id = '$c_id2'");
while ($row3 = mysql_fetch_array($query3))
{
$c_id3 = $row3["c_id"];
$c_naam3 = $row3["c_naam"];
$c_parent3 = $row3["c_parent"];
if ("a" == "b")
{
echo "<a href='producten.php?cat=$c_id3'>-- $c_naam3<br>";
}
}
}
}
}
}
echo "</h3>";
}
表 「Categorie」 看起來是這樣的: C_ID c_naam c_parent
發生以下情況:
如果我不設置$ cat或將$ cat設置爲1或3,則菜單如下所示:
- 項目1
- 項目2
- 項目3
如果我設置$貓2(下2有4和5)的菜單是這樣的:
- 商品1
- 〜商品4
- 商品5
- 項目2
- 〜第4項
- 〜第5項
- 項目3
- 〜第4項
- 〜第5項
如果我想項4的其他項目下可以說6和7,而我設置$ cat爲4,菜單變爲:
- 第1項
- 〜第6項
- 〜第7項
- 項目2
- 〜第6項
- 〜第7項
- 項目3
- 〜第6項
- 〜第7項
我該怎麼做才能使它成爲:
- 項目1
- 項目2
- 〜第4項
- ~~項目6
- ~~項目7
- 〜第5項
- 項目3
我希望我很清楚。
預先感謝您!
如果這是不可能的有人可以給我一個例子如何得到一個已經合作的菜單?
[PHP/MySQL的 - 建立一個導航菜單層次結構]的可能重複(http://stackoverflow.com/questions/477793/php-mysql-building-a-nav-menu-hierarchy) – hakre