我有一个具有分层菜单的表,例如
"id" "parent_id" "name"
1 0 menu
2 1 item1
3 2 item1_1
4 1 item2
5 4 item2_1
...
...
我这里有 100 多个菜单项。为了获取数组中的所有项目,我必须编写一个像这样的递归函数
getmenu function(parent_id = 1)
{
$items = mysql_query("SELECT id FROM table WHERE parent_id = " + parent_id);
while ($item = msyql_Fetch_assoc($items)) {
...here I put them in array and call recursive function again to get sub items...
getmenu($item['id']);
}
}
但这会执行 100 次查询。这是从数据库中获取分层菜单的最佳方法吗?这种方式加载mysql很多吗?