Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyświetlanie produktu w kategoriach nadrzędnych
Forum PHP.pl > Forum > PHP
netvalue
Witam,

Od dłuższego czasu zastanawiam się nad rozwiązaniem aby wyświetlić produkt w nadrzędnych kategoriach do których należy kategoria w której jest przypisany.


NP. drzewo

Kategoria A (id:1,parent_id:0)
-kategoria b (id:8,parent_id:1)
-kategoria c (id:9,parent_id:1)
-kategoria cc (id:10,parent_id:9)


Produkt

produkt (id:1, category_id:10)

Chciałbym aby ten produkt wyświetlał się po wejściu Kategoria A, kategoria B i oczywiście kategoria CC
Uriziel01
Możesz albo pobrać wszystkie kategorię których poziom jest wyższy od aktualnej a potem w pętli rekursywnej sprawdzać czy zawiera kategorię nadrzędne do kategorii szukanej, oczywiście w każdej iteracji pętli jeżeli znajdziesz jakąś kategorię nadrzędną robisz dla niej dokładnie taką samą pętlę. Potem mając już gotową tablicę zawierającą id każdej interesującej nas kategorii przy wyciąganiu produktów z bazy robisz WHERE category_id IN (...) . Niestety przy naprawdę dużych tablicach można tak dostać zadyszki. Lub użyć czegoś sprytniejszego, technik jest całkiem sporo, ogólnie hasło po którym możesz ich szukać to 'Storing Hierarchical Data in a Database'.
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.