| Autor | Zpráva | ||
|---|---|---|---|
| Monkeys Profil * |
#1 · Zasláno: 2. 2. 2015, 15:23:08
TB PRODUKT_ATRIBUTY
id_atributu | id_produktu | cena_dph | cena_bez_dph 3 | 80 | .... 8 | 80 | ... 7 | 80 | ... 9 | 80 | ... 3 | 81 | ... 8 | 81 | ... 7 | 81 | ... 9 | 81 | ... Problem je ze ak mam viac produktov s rovnakym id_atributu tak to vyberie aj tie atributy ktore patria inemu produktu. Napr vstup: Array ( [80] => Array ( [mnozstvo] => 1 [atribut] => 7 ) [81] => Array ( [mnozstvo] => 1 [atribut] => 8 ) ) a sql je "SELECT p.id_produktu, p.produkt, p.url_produktu, p.predajna_cena, p.cena_bez_dph AS cena_no_dph, p.obrazok,
a.hodnota_atributu, pa.cena_dph AS atribut_cena, pa.cena_bez_dph AS atribut_no_dph
FROM produkty p
LEFT JOIN produkt_atributy pa ON pa.id_produktu=p.id_produktu
LEFT JOIN atributy a ON a.id_atributu=pa.id_atributu
WHERE
".((count($attr) > 0) ? '
IF(pa.id_atributu IS NULL,
p.id_produktu IN ('.implode(",", array_map("intval",array_keys($session))).'),
pa.id_produktu IN ('.implode(",", array_map("intval",array_keys($session))).')
AND pa.id_atributu IN ('.implode(",", array_map("intval",$attr)).')
'
: 'p.id_produktu IN ('.implode(",", array_map("intval",array_keys($session))) ).")
ORDER BY p.produkt DESC";vybere to 80 => 7 80 =>8 81 => 7 81 =>8 Neviem ako to osetrit aby to vybralo len 2 produkty s rozdielnym id:atributu vdaka M. |
||
| juriad Profil |
změň:
'... pa.id_produktu IN ('.implode(",", array_map("intval",array_keys($session))).')
AND pa.id_atributu IN ('.implode(",", array_map("intval",$attr)).') ...''... (pa.id_produktu, pa.id_atributu) IN ((80, 7), (81, 8)) ...' |
||
| monkeys Profil * |
#3 · Zasláno: 2. 2. 2015, 15:54:40
juriad:
Ok dakujem pekne |
||
|
Časová prodleva: 11 let
|
|||
0