![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 115 Pomógł: 0 Dołączył: 16.04.2005 Skąd: Białowieża Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Zaszła potrzeba utworzenia tablicy drzewa wielopoziomowego za pomocą jak najmniejszej liczby zapytań. Przykładowa tabela: Kod id parent_id title 1 0 Artykuły 2 1 Na temat 1 3 1 Na temat 2 4 2 Na podtemat 1 5 2 Na podtemat 2 Celem jest utworzenie tablicy o strukturze: Kod Array ( [0] => Array ( ["name"] => "Artykuły" ["items"] => Array ( [0] => Array ( ["name"] => "Na temat 1" ["items"] => Array ( [0] => Array ( ["name"] => "Na podtemat 1" ) [1] => Array ( ["name"] => "Na podtemat 2" ) ) ) [1] => Array ( ["name"] => "Na temat 2" ) ) ) ) Google podaje mi tylko jakieś wielkie klasy, które operują tylko na memberach obiektu, ew. poprzez rekurencję wykonują więcej zapytań SQL. Pytanie: Czy ktoś ma pomysł, jak zbudować takie drzewo z pomocą jednego tylko zapytania, tzn SELECT * FROM categories? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 115 Pomógł: 0 Dołączył: 16.04.2005 Skąd: Białowieża Ostrzeżenie: (0%) ![]() ![]() |
Więc kod barmana działa idealnie - wielkie podziękowania (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) . Kod mojej wersji:
Jeszcze dla potomności - spłycenie drzewa, czyli przygotowanie danych dla szablonu bez konieczności wywoływania zasobożernej rekurencji w smarty:
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 17:02 |