![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 1 Dołączył: 25.11.2008 Skąd: Polska Ostrzeżenie: (10%) ![]() ![]() |
Witaj. Przeczytałem na stronie http://depesz.com/various/various-sqltrees.php opis, jak robić system kategorii z nielimitowaną ilością podkategorii, chodzi mi o Metodę 2.
Generalnie ją rozumiem i bez problemu przy jej pomocy zrobiłem skrypt downloadu, pozwalający na nielimitowaną ilość podkategorii. Z wyświetlaniem nie było problemu, za to problem się pojawia przy tworzeniu drzewa kategorii. Otóż w Panelu Admina przy dodawaniu pliku do downlaodu należy wybrać do jakiej kategorii ma zostać dodany plik - w tym celu chciałbym wyświetlić drzewo w formie: Kod Kategoria 1 -- Podkategoria 1 -- Podkategoria 2 -- -- Podkategoria 1 -- -- Podkategoria 2 -- -- Podkategoria 3 Kategoria 2 -- Podkategoria 1 -- -- Podkategoria 1 -- -- -- Podkategoria 1 -- -- -- Podkategoria 2 -- -- Podkategoria 2 -- Podkategoria 2 -- -- Podkategoria 1 Oczywiście drzewko powinno generować się dla nielimitowanej ilości zagłębień. I w tym problem - gdybym widział ile ma być zagłębień, to nie problem zrobić takie drzewko, napisać kod dla np. trzech zagłębień i już. A tutaj trzeba zrobić tak, aby niezależnie od liczby zagłębień drzewko sie generowało. Czy ma ktoś pomysł, jak to zrobić? Pozdrawiam, ladovnik |
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat Oczywiście drzewko powinno generować się dla nielimitowanej ilości zagłębień. I w tym problem - gdybym widział ile ma być zagłębień, to nie problem zrobić takie drzewko, napisać kod dla np. trzech zagłębień i już. A tutaj trzeba zrobić tak, aby niezależnie od liczby zagłębień drzewko sie generowało. Czy ma ktoś pomysł, jak to zrobić? Rekurencyjnie. ALE: jest to struktura mało wydajna, gdyż nowe zagłębienie = kolejne zapytanie. Poszukaj drzewka bazującego na kolejności + stopnia zagłębienia. Nie jest może takie łatwe w manipulacji, ale jesteś w stanie całe drzewko wygenerować przy pomocy jednego zapytania. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 1 Dołączył: 25.11.2008 Skąd: Polska Ostrzeżenie: (10%) ![]() ![]() |
Tak, wiem. Ale ten skrypt będzie używany tak, że oprócz niego nic innego nie generuje zapytań. A kategorie pewnie będą miały strukturę podobną do tej:
Kod Windows -- Programy -- -- Edukacyjne -- -- Biurowe -- Gry -- -- Wyścigowe -- -- Strategiczne Linux -- Programy -- -- Edukacyjne -- -- Biurowe -- Gry -- -- Wyścigowe -- -- Strategiczne Czyli nie będą przekraczać trzeciego stopnia zagłębienia. Na dodatek to kompletne drzewko kategorii będzie wyświetlane jedynie w PA, a admin nie wchodzi codziennie na stronę, żeby dodać kilkadziesiąt kategorii, także częstotliwość skorzystania z wyświetlenia tego drzewka będzie bardzo mała, zatem można zaryzykować małą niewydajność... Gdyby tak ktoś mógł mi przybliżyć trochę, co i jak z tą rekurencją w moim przypadku, byłbym bardzo wdzięczny. Ten post edytował ladovnik 28.07.2009, 18:12:44 |
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat Czyli nie będą przekraczać trzeciego stopnia zagłębienia. Na dodatek to kompletne drzewko kategorii będzie wyświetlane jedynie w PA, a admin nie wchodzi codziennie na stronę, żeby dodać kilkadziesiąt kategorii, także częstotliwość skorzystania z wyświetlenia tego drzewka będzie bardzo mała, zatem można zaryzykować małą niewydajność... Twojego podejścia pochwalić nie można, ale skoro się upierasz... Robisz metodę do wyciągania np. getItems($cat), a ona wyciąga wszystko z danej kategorii. I potem to, co zwróci przelatujesz pętlą i znowu wywołujesz dla każdej z nich getItems, i tak dalej... |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 54 Pomógł: 4 Dołączył: 22.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Ja polecam skorzystać z drzewka depesza.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 518 Pomógł: 18 Dołączył: 21.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
racja.
Zakladajac, ze liczba kategorii i podkategorii jest skonczona spokojnie mozna uzyc drzewka depesza -> metoda nr2 + modyfikacja informacji o glebokosci. Ja to stosuje do graficznej modyfikacji struktur 5 poziomowych i sprawdza sie swietnie |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 20:40 |