Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> zapytanie do menu, czy sie da?
kidu
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 26.02.2005

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


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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
bigZbig
post
Post #2





Grupa: Zarejestrowani
Postów: 740
Pomógł: 15
Dołączył: 23.08.2004
Skąd: Poznań

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


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.


--------------------
bigZbig (Zbigniew Heintze) | blog.heintze.pl
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 21.08.2025 - 14:58