Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> drzewo kategorii, sprawdzanie przodków i potomków
php programmer
post
Post #1





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 5
Dołączył: 8.11.2004
Skąd: trójmiasto

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


hej. Mam drzewo kategorii, gdzie każda kategoria ma określonego ojca (lub null gdy jest to kategoria podstawowa). Mam też tabelę produktów, gdzie każdy produkt ma określoną kategorię, jak najdokładniej jak to możliwe, czyli taka kategoria, która nie ma już syna (w drzewie kategorii).

Jak sformułowac (jeśli to możliwe w jednym zapytaniu) coś takiego aby po wybraniu jakieś wyższej kategorii, znajdowało także produkty, które należą do synów danej kategorii.

W zwykłym przypadku, gdyby wszystkie kategorie były by równe i nie było by podziałi drzewiastego zapytanie wyglądało by tak:

SELECT * FROM produkty WHERE produkty.id_kategorii = 120;
Gdzie 120 jest jest numerem id jakiejś tam kategorii.

Ale mi chodzi o takie zapytanie, aby sprawdzało także prodków i potomków,
a dodam że każda kategoria ma określonego jedynie ojca.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
DeyV
post
Post #2





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




Cytat(orson)
do where w pobieraniu dodać FIND_IN_SET(parentID, join(',', kategorie)) > 0
A nie wygodniej zkorzystać w takim zapytaniu z IN ?


Aby taka struktura dobrze działała, i łatwo było pobrać wszystkie elementy z danej gałęzi niezbędne jest wykorzsytanie jakiejś lepszej strukury drzewka - np. Drzewko zaprojektowane przez Depesza - niestety - wymagające "prawdziwie" (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) relacyjnej bazy danych. ( http://www.depesz.com/various-sqltrees.php )
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 27.09.2025 - 16:19