mysql hiyerarşik menüyü almak için nasıl

0 Cevap php

Ben bir tablo gibi hiyerarşik menüler sahip olması

"id" "parent_id" "name"
1 0 menu
2 1 item1
3 2 item1_1
4 1 item2
5 4 item2_1
...
...

ve ben burada menü öğeleri 100'ler var. Bir dizideki tüm öğeleri almak için böyle bir özyinelemeli fonksiyon yazmak zorunda

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']);
  }   
}

ancak bu sorgu 100'ler yürütür. Bu veritabanından hiyerarşik menüleri almak için, bunu yapmak için en iyi yolu nedir? Bu şekilde yükler mysql çok mu?

0 Cevap