Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL] Drzewko - kategorie
d.stp
post
Post #1





Grupa: Zarejestrowani
Postów: 358
Pomógł: 0
Dołączył: 19.04.2012

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


Robię prosty sklep internetowy i zatrzymałem się na budowie bazy danych bo kurcze nie wiem za bardzo jak rozwiązać problem z kategoriami w sklepie.

Powiedzmy, że mam kilka kategorii:

  1. 1. Telefony
  2. 1.1. Używane
  3. 1.1.1. Działające
  4. 1.1.2. Niedziałające
  5. 1.2. Nowe
  6. 2. Tablety
  7. 2.1. Polskie
  8. 2.2. Chińskie


Coś mniej więcej takiego. Więcej jak 3 poziomy nie powinno być. Teraz zastanawiam się czy takie rozwiązanie jest dobre:

products_categories:
cat_id | cat_parent | cat_name

A w PHP zrobię sobie przy wyświetlaniu:

- sprawdzanie czy w danej kategorii są podkategorie (mysql_num_rows za każdym razem)
- jeśli są to pobiorę wszystkie kategorie o parent_cat = cat_id

Czyli podsumowując do każdego poziomu drzewka zrobiłbym osobne pobieranie kategorii.

Czytałem o tych drzewkach w PHP i MySQL i wyczytałem że ludzie mają właśnie z tym problem bo po stronie mysqla nie ma takiej sztuczki do tego. Wyczytałem też o left i right, ale strasznie te rozwiązanie mi się nie podoba (nie rozumiem go kompletnie).

z góry dzięki za odp
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Forti
post
Post #2





Grupa: Zarejestrowani
Postów: 655
Pomógł: 73
Dołączył: 2.05.2014

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


1. To proste. Pobierasz listę kategorii dzieci (wszystkie które root maja 1 lub wg. Patent itp.) i potem produkty dla tych kategorii. Służy do tego IN w zapytaniu mysql. Np.

Select * from products where category_id IN $tablica_z_ids

Kombinuj, musisz zebrac sobie te id wszystkich kategorii. Np select id from category where car_root = 1



2. Jezeli ten obiekt to zapytanie do bazy to jest to grzech bardzo duży.
Go to the top of the page
+Quote Post

Posty w temacie


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: 26.12.2025 - 22:57