Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zagniezdzanie kategorii - projekt
Forum PHP.pl > Forum > Bazy danych > MySQL
qwertys1
witam,
projektuje baze do sklepu, napotkalem problem z kategoriami.

Wstepnie mialem tabele: Kategoria i Podkategoria, ale uswiadomilem sobie, ze potrzebuje wiecej podPodkategorii, ktore beda dodawane z panelu administracyjnego, i nie wiadomo jak glebokie bedzie drzewo kategorii, wiec stala liczba tabel odpada (typu: katpoz1, katpo2,...).
Pomyslalem o jednej tabeli:
tabela Kategoria (przykladowe dane):
ID | NazwaKat | IDKat
--------------------------------
1 | Ciuchy | null
2 | Spodnie | 1
3 | Krotkie spod | 2
4 | Napoje | null

gdzie:
ID - identyfikator kategorii lub podkategorii
NazwaKat - nazwa kategorii
IDKat - ID kategorii do ktorej nalezy dana kategoria (null gdy jest na 1. poziomie)

w takim przypadku trzeba by w kodzie strony oprogramowac tak, zeby np. nikt nie wyrzucil jakies posredniej kategorii, zeby nie bylo polaczenia galezi (np. tutaj jakby wyrzucic ID=2 to ID=3 nie mialoby nadrzednej kategorii, a powinno np. IDKat zmienic na 1)


To rozwiazanie niezbyt mnie satysfakcjonuje i wogole nie wiem czy jest efektywne, bo rekurencyjnie trzeba by zadawac pytania do bazy zeby wyswielic cale drzewo kategorii na stronie.


Prosze o jakies porady:)
Za kazda uwage bede bardzo wdzieczny:)

Pozdrawiam
qwertys1

PS. przy okazji moze ktos sprobowac mi pomoc tez w tym temacie: http://forum.php.pl/index.php?showtopic=117718
AxZx
poczytaj o tym nested-trees

np. tutaj jest to innego DBMS http://www.phpriot.com/articles/nested-trees-1
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.