Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]jak zadać zapytanie do bazy
Krismen
post
Post #1





Grupa: Zarejestrowani
Postów: 86
Pomógł: 0
Dołączył: 5.02.2009

Ostrzeżenie: (0%)
-----


Witam, tworzę tabelę w której będą kategorie i podkategorie sklepu. Gdzieś wyczytałem że najlepiej dla kategorii i podkategorii stworzyć jedną tabelę, więc próbuję zrobić to tak:

id kategoria id_rodzica
1 telewizory 0
2 AGD 0
3 sony 1
4 panasonic 1
5 lodowki 2
6 zelaska 2
7 pralki 2

I teraz czy da się pobrać jednym zapytaniem, żeby otrzymać coś takiego:

telewizory
sony
panasonic

AGD
lodowki
zelaska
pralki

Dałem takie zapytanie:
  1. $pytanie='select k1.id, k2.kategoria, k3.id_rodzica
  2. from dane k1, dane k2, dane k3
  3. where k3.id_rodzica=0
  4. and k1.id=k3.id_rodzica';
  5.  


Przyznam że nie umiem do końca zatrybić z tymi aliasami (IMG:style_emoticons/default/wstydnis.gif) Czy to jest dobre rozwiązanie żeby kategorie i podkategorie łądować do jednej tabeli, czy lepiej zrobić dwóch osobnych. Oczywiście będzie jeszcze tabela dla produktów ale na razie męczę się z tym. Proszę o pomoc

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
tehaha
post
Post #2





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

Ostrzeżenie: (0%)
-----


poczytaj o "drzewo lewo prawo"http://articles.sitepoint.com/article/hierarchical-data-database/2, albo "drzewko ip"
Go to the top of the page
+Quote Post
thomson89
post
Post #3





Grupa: Zarejestrowani
Postów: 1 178
Pomógł: 51
Dołączył: 7.01.2009
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


Powiem ci, że też kiedyś miałem taki problem. I w sumie nadal mam i nadal nie wiem jak go rozwiązać.

Ja zrobiłem to bardzo nie ładnie i nie profesjonalnie - kilka kolejnych pętli "w pętli" wybiera najpierw rodziców, i drugą pętlą podkategorie, i potem trzecią pętlą jeszcze niższe podkategorie.
Go to the top of the page
+Quote Post
Krismen
post
Post #4





Grupa: Zarejestrowani
Postów: 86
Pomógł: 0
Dołączył: 5.02.2009

Ostrzeżenie: (0%)
-----


Czyli rozumiem że zrobiłeś wszystko w jednej tabeli ? A może lepiej by było to podzielić.
Go to the top of the page
+Quote Post
#luq
post
Post #5





Grupa: Zarejestrowani
Postów: 589
Pomógł: 91
Dołączył: 22.05.2008
Skąd: Gliwice

Ostrzeżenie: (0%)
-----


Przecież @tehaha podał Ci wszystko na tacy. O wiele lepszym sposobem tworzenia drzewa w relacyjnych bazach danych jest struktura ip lub lewo-prawo
Od siebie dodam lekturę TEGO

Jeśli jednak upierasz się przy swoim to możesz skorzystać z mojej klasy, która obrobi Ci po stronie PHP wynik jednego zapytania i stworzy z tego drzewo, ale tak jak mówię jeśli to Ty planujesz strukturę bazy to wykorzystaj inny sposób prezentacji drzewa niż parent_id.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 12:32