Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sklep / katalog produktow / drzewko
Forum PHP.pl > Forum > PHP
qlash
Witam

Mam taki problem, potrzebuje przerobić sklep internetowy. Są tam roznego rodzaju produkty podzielone na kategorie w taki sposób:

Tabela: kategorie
id | sub_ctg | nazwa

Przykladowe dane:
1 | 0 | art. biurowe
2 | 1 | długopisy
3 | 1 | mazaki
4 | 2 | żelowe
5 | 2 | atramentowe

Jak nietrudno zauważyć na powyzszym przykładzie, kategorie są ułożone w sposob podajacy jako SUB nr ID, dzieki czemu można tworzyc nieskonczona ilość podkategorii.

Mam problem teraz z zapytaniem do bazy, ktore by mi wyswietliło drzewko takiego układu. Nie mam pomysłu na zapytanie w sql ani ew. (po wyborze wszystkich danych) obróbkę wyniku w php.

Chciałbym osiągnać taki efekt (wg danych z pow. przykładu):

art. biurowe
- długopisy
- - żelowe
- - atramentowe
- mazaki

Myślę, że wyraziłem się jasno smile.gif

Pozdrawiam
athabus
Szukaj pod hasłem rekurencja + drzewka.

Generalni ja to widzę tak, że pobierasz dane a następnie idziesz po kolei po głównych kategoriach i sprawdzasz czy w dany węzeł ma dzieci. Jeśli ma to wznawiasz procedurę ich wyświetlenia i znowu dla dzieci wyświetlasz ich dzieci. Jeśli dany element nie ma dzieci to wracasz do wyższego węzła itd.

Na początku wydaje się to trochę zagmatwana ale wystarczy prosta rekurencja. Kiedyś nawet widziałem na wortalu artykuł napisany chyba przez scanera o drzewkach.

Tak między nami to uważam, że znacznie lepsza jest struktura gdzie z góry zakładasz, że może być maksymalnie 5 poziomów zagnieżdzenia i dany poziom może mieć np. max 99 elemetnów.
Wtedy masz id np. 0101010000 i nie ma potrzeba przechodzenia przez całe drzewo, żeby dowiedzieć się co to za element.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.