![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 206 Pomógł: 6 Dołączył: 25.12.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam, zastanawiam się jak poprawnie wykonać podział na kategorie i subkategorie, mam takie 2 tabele:
tabele wygladaja tak:
i zapytanie do nich:
cel jest taki żeby, pobrać kategorię, następnie mają sie pobrać do niej wszystkie subkategorie, potem kolejna kategoria i kolejne subkategorie, tak w kółko aż do ostatniej subkategorii w ostatniej kategorii, z tym, że nie wiem jak dobrze to napisać (prosiłbym o jakieś wskazówki, przykladowy kod), i czy powyższe zapytanie jest optymalne czy można to inaczej zrobić? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 350 Pomógł: 31 Dołączył: 23.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
Hm. Właściwie można ograniczyć się do jednej tabeli np. "categories" o stukturze:
Kod | id | name | description | parent_id | Gdzie kolumna "parent_id" będzie przyjmować albo wartości tekstowe (string) albo wartość NULL - w przypadku gdy jest tylko kategoria główna (czyli kategoria bez podkategorii :-)). Natomiast wartość tekstowa to będzie tekst w stylu "1.23.15" - metoda na IP (gdzie 1 oraz 23 i 15 - to ID kategorii z zaglębienia). Ogólnie o metodzie drzewek bądź metodzie IP - jak zwał tak zwał możesz poszukać na forum, ponieważ ten wątek został już omówiony tutaj. Np. http://forum.php.pl/index.php?showtopic=107322 (w pierwszym poście są linki do artykułów) + do tego cache, aby za każdym razem nie pobierać całej listy + w cache trzymać już posortowane tablice aby w kółko tego samego nie filtrować i będzie OK. Ten post edytował wujek2009 4.11.2012, 16:30:47 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 09:19 |