![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 012 Pomógł: 109 Dołączył: 26.09.2003 Skąd: nexis.pl Ostrzeżenie: (0%) ![]() ![]() |
Mam następujące tabele:
Kod product (przechowuje główne cechy produktu - np. nazwę): - id - label Kod item (przechowuje cechy konkretnego egzemplarza, który może się różnić rozmiarem, kolorem, itd. - mają różne ceny): - id - product (klucz product.id) - price Kod category: - id - parent - label Kod product2category: - product (klucz product.id) - category (klucz category.id) Korzystam z nich za pomocą Zend_Db_Table - np.:
Kategorie mają konstrukcję rekurencyjną tj.: Kod |--+ Buty |--- Adidas |--- Nike |--+ Puma |--- X |--- Y |--- Pozostałe Dla danej kategorii - np. "Buty" - chciałbym otrzymać wszystkie produkty (product.id, product.label) wraz z najniższą ceną (MIN(item.price)) dla tej kategorii i wszystkich podkategorii. Jak coś takiego skonstruować w ZF, aby nadawało się do paginacji? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 313 Pomógł: 24 Dołączył: 9.08.2008 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
jak zmienisz strukturę kategorii na drzewka metodą ip to będziesz mógł dużo łatwiej pobierać wszystkie rekordy
Kod WHERE ip LIKE CONCAT("'.$cat['ip'].'.%") http://blog.mwojcik.pl/2008/02/17/drzewa-k...-php-metoda-ip/ Ten post edytował pgrzelka 6.01.2010, 12:57:45 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 254 Pomógł: 7 Dołączył: 9.10.2007 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Polecam także metodę Nested Set:
http://dev.mysql.com/tech-resources/articl...hical-data.html Sam używam i sprawuje się bardzo dobrze. Moja klasa gdyby była potrzebna (IMG:style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 366 Pomógł: 261 Dołączył: 23.09.2008 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Też używam tej metody (IMG:style_emoticons/default/smile.gif) polecam jeszcze dorzucenie nested_dpeth, czyli głębokość drzewa czasem się przydaje (IMG:style_emoticons/default/winksmiley.jpg)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 21:42 |