![]() |
![]() |
-Gość- |
![]()
Post
#1
|
Goście ![]() |
Witam
Mam w bazie danych liste kategorii i subkategorii. Chcialbym pobrac wszystko za pomoca jednego zapytania posortowane w odpowiedni sposob. w bazie wyglada to tak:
czyli powinno zostac posortowane w ten sposob
Moglbym na poczatek pobrac wszystkie elementy w ktorych parent==null, pozniej przejechac je po kolei i popobierac ich dzieci. Ale moze da sie jakos bardziej w SQL, mniej w PHP? |
|
|
![]() |
-Gość- |
![]()
Post
#2
|
Goście ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 873 Pomógł: 25 Dołączył: 24.07.2005 Ostrzeżenie: (0%) ![]() ![]() |
Jednym zapytaniem to tak w sensie kodu. W rzeczywistości musisz napisać funkcje rekurencyjna aby to wszystko wyświetlić. Czyli im większe drzewo tym zapytanie poleci wiecej razy
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 677 Pomógł: 11 Dołączył: 18.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
Twoja tabela musimy wyglądać tak:
id parent_id name 1 0 papier 2 0 folia 3 0 filc 4 1 gruby 5 2 zwykła 6 2 bąbelkowa 7 1 cieńki 8 1 samoprzylepny 9 3 200g 10 1 teksturowany no i teraz pobierasz dane o parent_id = 0, później pobierając resztę danych podporządkowujesz pola dane id. Pokaż kod to pomożemy. Ten post edytował Randallmaster 12.01.2013, 13:03:58 |
|
|
-Gosc134- |
![]()
Post
#5
|
Goście ![]() |
Temat na czasie, czy ktoś może pomóc w budowie drzewa dwu wymiarowego ?
Puki co próbuję stworzyć jakieś mądre tablice by potem to wszystko wyświetlić w formie: KATEGORIA - 1 - 2 KATEGORIA2 - 1 - 2 - 3 Ale za chiny nie mogę nic zrobić :-/
A tabela wygląda tak: id | title | parents Czy ktoś pomoże w budowie tablic i ewentualnym wyświetleniu ich ? |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 203 Pomógł: 55 Dołączył: 23.11.2008 Skąd: UKF Ostrzeżenie: (0%) ![]() ![]() |
Do wyboru masz wiele konstrukcji drzewiastych umorzliwiające takie rozwizanie jakie Tobie potrzebne. Np. nested sets, drzewa IP czy adjacency list. Pogoogluj, poszukaj i wybierz co akurat odpowiada.
|
|
|
--Gosc134-- |
![]()
Post
#7
|
Goście ![]() |
Mam, Znalazłem prosty i skuteczny kod. Oto chodziło.
Tylko mam pewne obawy co do global $data, $index; Czy to jest bezpieczne ? Jak można to usunąć by wszystko działało ?
|
|
|
-Gosc134- |
![]()
Post
#8
|
Goście ![]() |
Witam,
Ostatnie pytanie mam kod:
I On wyświetla coś takiego: Cytat Oświata Warning: Invalid argument supplied for foreach() in /kat.php on line 48 Medycyna --Lekarze Sklepy Warning: Invalid argument supplied for foreach() in /kat.php on line 48 Jak zrobić by wyświetlało się poprawnie i z id danego elementu czyli np.: Cytat 1|Oświata 2|Medycyna --4|Lekarze 3|Sklepy Bardzo dziękuję za pomoc bo walczę z tym od wczoraj :-/ |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 20:13 |