Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL] Budowanie drzewa
rolnix
post
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?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
heaven
post
Post #2





Grupa: Nieautoryzowani
Postów: 92
Pomógł: 15
Dołączył: 21.10.2006

Ostrzeżenie: (0%)
-----


Jesli masz wyswietlic wszystkie galezie drzewa to musisz pobrac cale drzewo (SELECT * FROM categories) i dzialajac rekurencyjnie na otrzymana tablice zbudowac twoja strukture.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 02:28