У меня есть таблица с иерархическими меню типа
"id" "parent_id" "name"
1 0 menu
2 1 item1
3 2 item1_1
4 1 item2
5 4 item2_1
...
...
и у меня есть сотни пунктов меню здесь. Чтобы получить все элементы в массиве, я должен написать рекурсивную функцию, подобную этой
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']);
}
}
, но при этом выполняются сотни запросов. Это лучший способ сделать это, чтобы получить иерархические меню из базы данных? Много ли загружает этот способ mysql?