1
我試圖用來自數據庫的行做菜單,我一直在這裏閱讀關於做一個遞歸函數來評估parentId和Id和構建較低級別的選項,但在這裏沒有運氣。也試圖將SQL答案轉換爲一個多維數組,沒有運氣......php pdo導航菜單的遞歸函數
基本上我需要的是根據父級構建列表元素的集合,例如Dashboard.php是son.php的父級
這裏是我的代碼:
function buildMenu($userType){
try{
$db = new db();
$conn = $db->conn();
$SQL_BUILD_MENU = "select usertypes.id as menuId,
menu.name as menuName, menu.link as menuLink,
usertype_menu.parent_id as
parent from usertypes inner join usertype_menu on usertypes.id = usertype_menu.usertype_id inner join
menu on usertype_menu.menu_id =
menu.id where usertypes.name='".$userType."'";
$conn->prepare($SQL_BUILD_MENU);
foreach($check = $conn->query($SQL_BUILD_MENU) as $row) {
echo "<ul>";
echo "<a href=".$row['menuLink']."><li>" . $row['menuName'] . "</li></a>";
echo "</ul>";
}
}
catch(Exception $e){
echo "Se ha presentado un error en buildMenu".$e;
}
}
}
+----+--------+-------------+-----------------+--------+
| id | menuId | menuName | menuLink | parent |
+----+--------+-------------+-----------------+--------+
| 1 | 1 | Dashboard | dashboard.php | 0 |
| 2 | 1 | Interaction | interaction.php | 0 |
| 3 | 1 | Son | Son.php | 1 |
+----+--------+-------------+-----------------+--------+
在此先感謝。