![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 46 Pomógł: 0 Dołączył: 28.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Struktura tabeli id | parent_id| name 1 0 vw 2 0 audi 3 2 a3 4 1 passat .... Potzrebuje wyswietlic array poukladana czyli - vw --passat - audi -- a3 dzieki |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Opiszę Ci jak ja to robię. Będę bazował na Twoim przykładzie i danych.
1. Wykonujesz zapytanie:
Dzięki temu będziesz miał dane odpowiednio posortowane (jako kolumna sortująca możesz wybrać cokolwiek). 2. Pobierasz dane, przelatujesz po nich pętlą - nie podam Ci dokładnego kodu, ale napiszę jaką tablicę powinieneś dostać na wyjściu:
Struktura jest taka: klucz tablicy to po prostu parent_id, a wartości to tablica elementów przyporządkowanych do danego rodzica. Kolejność kluczy nie ma większego znaczenia, ważne, że dzieciaki są uporządkowane (IMG:style_emoticons/default/winksmiley.jpg) według porządku, który podałeś w ORDER BY. 3. Wyświetlenie drzewa to prosta funkcja rekurencyjna, do której podajesz jako parametr całą tablicę danych oraz id aktualnie generowanego poziomu, np.
Ten kod powinien wyświetlić tylko elementy dla parent_id = 0 czyli audi i vw. 4. Wewnątrz tej funkcji iterujesz po każdych elementach danego poziomu (dla 0 wspomniane audi i vw). Po wyświetleniu danego elementu wykonujesz rekurencyjnie:
dzięki czemu będziesz miał również wyświetlanie kolejnych potomków. Całość najlepiej wyświetlić w postaci listy <ul> - będziesz wówczas widział wszelkie zagnieżdżenia. Jeśli będziesz miał problemy to śmiało pisz. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 7.10.2025 - 04:37 |