Autor | Zpráva | ||
---|---|---|---|
kimmy Profil * |
#1 · Zasláno: 21. 12. 2008, 08:55:46
Ahoj,
prosím poradil by mi někdo s jedním sql dotazem? Jde o porovnávání produktů v eshopu. Dotaz vypadá takto: $query = mysql_query(" SELECT *, p.$nazev AS nazev, p.id AS id, sp.$nazev AS nazev_polozky, sh.$nazev AS nazev_hodnoty FROM ".TBL_PREFIX."produkty p JOIN ".TBL_PREFIX."produkty_matky m ON p.id_matka=m.id_matka LEFT JOIN ".TBL_PREFIX."produkty_foto f ON f.id_produkt=p.id AND f.razeni=0 LEFT JOIN ".TBL_PREFIX."sablony_obsah so ON so.id_produkt = p.id LEFT JOIN ".TBL_PREFIX."sablony_polozky sp ON sp.id_polozka = so.id_polozka LEFT JOIN ".TBL_PREFIX."sablony_seznam ss ON ss.id_sablona = sp.id_sablona LEFT JOIN ".TBL_PREFIX."sablony_hodnoty sh ON sh.id_hodnota = so.id_hodnota WHERE m.web='".__WEB__."' AND p.id IN (".implode(", ", $_SESSION['porovnani']).") GROUP BY p.id ") or die(err(1)); Problém je v tom, že každý výrobek má více položek pro porovnávání (chuť, barvu, velikost,...). A tento sql dotaz mi vybere pro každý produkt JEN JEDNU položku pro porovnávání, kvůli tomu GROUP BY p.id. Já bych potřebovala ale vybrat všechny položky.. Když dám GROUP BY sp.id_polozka, tak to sice vybere všechny položky, ale zároveň mi to zobrazí třeba třikrát jeden produkt.. Poradíte prosím někdo? Děkuju |
||
Časová prodleva: 6 dní
|
|||
Kajman_ Profil * |
#2 · Zasláno: 27. 12. 2008, 17:48:42
Nedávejte group by, jen order by p.id a v aplikaci si produkt vypište jen, pokud se změnil. Nebo si můžete z řádků sestavit v php pole produktů, se kterým se Vám bude lépe pracovat.
|
||
Časová prodleva: 15 let
|
0