Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zapytanie do menu
Forum PHP.pl > Forum > Bazy danych
kidu
chce zrobic sobie skrypt do wysiwetlania hierarchicznego menu na stronie. ma dzialac tak jak np na strone tej, tylko z max iloscia zaglebien powiedzmy 3 - 4 jesli to cos zmienia

mam tabele w bazie

id | parent_id | name

czy da sie za pomoca jednego zapytania SQL (albo jak inaczej ladnie) uzyskac z tego odpowiednia strukture menu z uwzglednieniem oczywiscie poziomu poszczegolnych elementow? moze jakis przyklad, bo siedze od 2 dni i nie weim jak to zrobic. tzn zrobilem ale jest to straszny potwor i w dodatku strasznie wolny.

aha no i chce uzyskac tylko tablice z danymi do menu w ktorej bedzie nazwa elementu, jego id i glebokosc w strukturze, wyswietlanie bedzie gdzie indziej. tzn chcialbym by pozniej przechodzac po tablicy i odczytujac nazwe menu i glebokosc mozna bylo zrobic odpowiednie wciecie w menu.

z gory dzieki
bigZbig
Zapytanie sql bedace rozwiazaniem Twojego problemu jest proste:
  1. SELECT id, parent_id, name,
  2. FROM table_menu WHERE parent_id = $id;
tyle, ze musi byc wielokrotnie wywolane. Najlepiej rekurencyjnie. Problem w tym aby okreslic odpowiednie warunki, ktore nie spowoduja zapetlenia w nieskonczonosc. Troszke pracy wymaga tez upakowanie tego w tablicy, ale to akurat najprostsza czesc zadania. Jak bede mial chwile to usiade nad tym. Zreszta jak poszukasz tutaj na forum rozwazan na temat struktur drzewiastych to napewno znajdziesz rozwiazanie.
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.