Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zczytanie produktów należących do danej kategorii i podkategorii
Forum PHP.pl > Forum > Bazy danych > MySQL
micz84
Mam takie pytanie jak zczytać wszystkie produkty, które należą do danej kategorii i wszystkich jej podkategorii i tak dalej, czyli np.

Komputery->procesory->64bit ->intel
->amd
->32bit->intel
->amd
i gdy wezme procesory to zczyta wszystko. Ja mam taki pomysl na strukture tabel.
Kategorie
idk - klucz główny
nazwa - Nazwa tongue.gif
idpk - klucz wskazujący na tabelę (gdy równy 0 znaczy że kategoria główna)

Produkty
idp - klucz główny
idk- klucz obcy wskazujacy kategorię
nazwa

Czy taka struktura jest dobra?? i czy jest jakiś wydajny sposub jej przejżenia bez rekurencji, najlepiej jednym zapytaniem?smile.gif
gutek84
Kategorie
idk - klucz główny
nazwa - Nazwa np. procek

Podkategorie
idpk - klucz główny
nazwa - Nazwa np. 64bit


Produkty
idpk - klucz obcy wskazujacy podkategorię
idk- klucz obcy wskazujacy kategorię
nazwa np. Intel

  1. SELECT nazwa FROM produkty WHERE idk=1 AND idpk=1


questionmark.gifquestionmark.gif
Nie wiem o to Ci chodzilo?
micz84
Nie, to zapytanie zwróciło by tylko jeden rekord, a mi chodzi o cos takiego żeby zwróciło wszystko co się znajduje w danej kategori. Zle sie wyrazilem na temat tabeli produktow one byly by już koncowymi modelami procesorów w tym przypadku. Dam taki przyklad. Chce zczytać wszystkie procesory tabela kategori wygląda tak:


idk | nazwa | idnk
1 | Komputery| 0 - to jest kategoria główna
2 | Monitory | 0 - druga kategoria główna
3 | Procesory | 1 -podkategoria kategorii Komputery
4 | 32bit | 3 -podkategoria kategorii Procesory
5 | 64bit | 3 -podkategoria kategorii Procesory
6 | Intel |4 -podkategorie kategori 32bit
7 | Intel |5 -podkategorie kategori 64bit
8 | AMD |4 -podkategorie kategori 32bit
9 | AMD |5 -podkategorie kategori 64bit
10 | LCD |2
11 | CTR |2

... itd

w tabeli produktów były by konkretne modele procesorów przypisane do konkretnych kategori.

czyli jak wybiore procesory to zeby mi zczytało wszystko co w procesorach, czyli wszystkie produkty podpiete pod AMD i Intel w obu wersjach 32 bit i 64 bit. Gdy wybiore 32bit to tylko 32 bitowe procesory amd i intel. Gdyby była podkategoria dyski twarde w kategorii komputery, to gdybym wybrał komputery, to zeby mi wyświetlił i procesory i dyski. Tyle sie napisałem a moge podać przykład prakytyczny smile.gif serwisów aukcyjnych. Jak się wchodzi w jakiś dział to wyświetla wszystko z działu i ewentualne poddziały do wyboru jak ktoś chce się zagłebić, o cos takiego mi chodzi smile.gif.
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.