Wysłany: Pon Kwi 16, 2007 3:51 pm Temat postu: [php][sql] jak powinna wyglądać funkcja (rekurencja, drzewo)
Nowy
Dołączył: 16 Kwi 2007 Posty: 1
Baza MySQL (3.23). Operuję na dwóch tabelach:
1. towary
- towar_id (PK)
- towar_kategoria (FK)
2. kategorie
- kategoria_id (PK)
- kategoria_poziom
- kateogria_nadrzedna
Pytanie:
Jak z poziomu języka PHP sformułować funkcję/pętlę by po podaniu jej wartości kategoria_id przechodzina od zadanej kategrii w dół po drzewie kategorii zliczająć ile w sumie towarów się w tej kategorii (łącznie z jej podkategoriami) znajduje?
Nie wiem czy do końca jasno udało mi się przedstawić sprawę - chodzi mi o coś podobnego do Allegro tj.
np. by po wskazaniu kategorii "Aparaty cyfowe" przechodziła przez wszystkie podkategorie tej kategorii uwzględniając zarówno aparaty cyfrowe, analogowe itp. a więc brało pod uwagę wszystkie towary które umieszczone są głębiej w hierarchii.
Pole kategoria_poziom w tabeli mówi jak głęboko (na jakim poziomie) znajduje się każda z kategorii, pole kategoria_nadrzędna przechowuje wartość kategoria_id kategorii pod którą należy bieżąca.
Będę bardzo wdzięczny za pomoc, mile widzany przykład.
Dziękuję
Dołączył: 29 Gru 2006 Posty: 124 Skąd: Ze wsi, a co? :>
Musisz sprawdzać dwa ID głownej kategorii i jej pokategorie. Dodając towar patrząc na allegro użytkownik definiuje jego miejsce wystawienie i ten towar ma wiele id np.
Główne ID_Komutery/kolejne ID_aparty/następne ID_cyfrowe itd.
z jakiej hierarchii chcesz wyświetlić wystarczy ze dasz zwykłą pętle for sprawdzając tabele z danim id
Jeżeli chcesz sprawdzić ile ma elementów sprawdzasz zwykłym poleceniem count tablele z danym id
Im głębiej sie zanurzasz tym musisz podać więcej ID do sparwdznia
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach