![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 1 Dołączył: 6.12.2016 Ostrzeżenie: (0%) ![]() ![]() |
Witam jestem tu nowy i dopiero zaczynam swoją przygodę z PHP, HTML ogarniam już chyba całkiem dobrze więc pora wejść na wyższy poziom i pomyśleć o PHP/MySQL
Mam przykładową bazę ze strukturą tabel
Jak powinno wyglądać zapytanie abym mógł wyciągnąć z tabeli produktów wszystkie produkty z kategorii "AGD" i podkategorii dla których id rodzica to id kategorii "AGD"? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
No patrz, nie moge znalezc... domeny na ktorych to kiedys bylo teraz sa juz nieaktywne :/
Podam ci w skrocie idee, zlekka zmodyfikowana przeze mnie: W tabeli drzewka IP nie masz id rodzica. Zamiast tego masz pelna sciezke od rodzica do dziecka. Czyli jesli masz kategorie kat1(id 1) ktora ma kategorie kat2(id 2) ktora ma kategorie kat3(id 3) to tak beda wygladaly rekordy: ID, NAME, IP, LEVEL 1, kat1, 1., 0 2, kat2, 1.2., 1 3, kat3, 1.2.3., 2 Jak widzisz sciezka wyglada jak adres IP stad nazwa Ja do sciezki dodaje tez ID aktualnego rekordu - mi to pomagalo w wyszukiwaniach Dodaje rowniez LEVEL ktory mowi o stopnu zagniezdzenia elementu - rownie pomocne w pewnych przypadkach. Ja rowniez na koniec kazdej sciezki dodaje kropke - tez mi to ulatwialo wyszukiwania I teraz jak chcesz znalezc wszystkie kategorie nalezace do kat1 to dajesz: select * from categories where IP like '1.%'; i juz. Oczywiscie na pole IP musi byc zalozony index Jak chcesz znalezc wszystkie nalezace do kat2 to dajesz select * from categories where IP like '1.2.%'; To tak w skrocie (IMG:style_emoticons/default/smile.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 17.10.2025 - 05:59 |