Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zliczanie liczby produktów dla danej kategorii, Drzewo LEFT RIGHT
milmen
post
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 4.06.2009

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


Witam.
Na podstawie tego artykułu http://dev.mysql.com/tech-resources/articl...hical-data.html stworzyłem sobie tabelę przechowującą nieograniczoną ilość podkategorii (struktura drzewiasta LEFT RIGHT). Dodatkowo mam tabelę z produktami powiązaną z kategoriami poprzez products.id_category=product_catetegory.id.
Poniższe zapytanie:
  1. SELECT node.id AS id, node.name AS name, (COUNT(parent.id) - 1) AS depth
  2. FROM product_category AS node, product_category AS parent
  3. WHERE node.lft BETWEEN parent.lft AND parent.rgt
  4. GROUP BY node.id
  5. ORDER BY node.lft


wypisuje mi listę kategorii, którą za pomocą dodatkowej kolumny depth i list ul w html-u mogę sobie łatwo sformatować zachowując tym samym strukturę drzewiastą.
Problem występuję, gdy przy każdej kategorii chciałbym w nawiasie dodatkowo zaprezentować liczbę produktów należącą do tej kategorii (włacznie z liczbą produktów podkategorii). Czyli kategorii Sklep (tej na najwyższym poziomie) towarzyszyłaby liczba wszystki produktów w bazie. Przy kategoriach bez żadnych przypisanych produktów powinno w nawiasie wyświetlić 0.
Przeszukałem całe forum i w ogóle internet również ten anglojęzyczny i nigdzie nie znalazłem żadnego przykładu, a zapytanie jest na tyle trudne, że pomimo całego dnia nie potrafiłem sobie z nim poradzić. Czy da się to w ogóle wykonać w 1 zapytaniu? Bardzo proszę o pomoc, tym bardziej że wydaje mi się, że może to być dość popularny problem.

Z góry dzięki :)
Go to the top of the page
+Quote Post
woj_tas
post
Post #2





Grupa: Zarejestrowani
Postów: 230
Pomógł: 36
Dołączył: 31.03.2006
Skąd: Zielona Góra

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


Cytat(milmen @ 24.05.2010, 11:43:57 ) *
a zapytanie jest na tyle trudne, że pomimo całego dnia nie potrafiłem sobie z nim poradzić


Bo i nie ma sensu pobierać tego zapytaniem. Dodaj sobie kolumnę w kategoriach przechowującą ilość towarów i zmieniaj ja przy dodawaniu/usuwaniu produktów


--------------------
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 21.08.2025 - 06:03