Diskuze: Najít cenu v databázi podle select filtru

PHP PHP Najít cenu v databázi podle select filtru American English version English version

Avatar
landsman
Člen
Avatar
landsman:

Zdravím,

řeším jak napsat následující věc:
Jde o e-shop nábytku, kde každá položka může mít cca 30 cen podle různých kriterií. Tyto možnosti si zákazník vybere na detailu zboží v selectech, checkboxech. To je ok, ale přemýšlím nad zpracováním v PHP.

Budou tam 4 základní volby, dle kterých se zúží výběr pouze na některé sloupce.
Vynesl jsem si sloupce dle těch cen do polí dle voleb. Jak všechna pole projít, dle jednotlivých závislostí a zúžit tak výběr na požadovanou cenu?

Jdu na to vůbec dobře?
Vize je taková, že to bude jakoby krokový formulář, který se zpracuje na pozadí vždy po každém select výběru ajaxem a zákazník dle jednotlivých výběrů bude vidět změnu ceny ihned.

//vsechny sloupce ktere ovlivni JEDNOLUZKO
$jednoluzko =  array('var2', 'var3', 'var4', 'var5', 'var6', 'var7', 'var8', 'var9');

//vsechny sloupce ktere ovlivni DVOJLUZKO
$dvojluzko =  array('var14', 'var15', 'var16', 'var17', 'var18', 'var19', 'var20', 'var21');

//vsechny sloupce ktere ovlivni MATERIAL
$buk =  array('var2', 'var6', 'var14', 'var18');
$dub =  array('var3', 'var7', 'var15', 'var19');
$javor =array('var4', 'var8', 'var16', 'var20');
$smrk = array('var5', 'var9', 'var17', 'var21');

//vsechny sloupce, ktere ovlivni CELO
$celo_ano = array('var2', 'var3', 'var4', 'var5', 'var14', 'var15', 'var16', 'var17');
$celo_ne = array('var6', 'var7', 'var8', 'var9', 'var18', 'var19', 'var20', 'var21');
Editováno 18.5.2013 17:33
 
Odpovědět 18.5.2013 17:31
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na landsman
David Čápka:

A ta cena nemá nějakou pravidelnost, opravdu musíš mít pro každou položku cenu? Např. nedá se říct, že javor je o x procent dražší než smrk?

Co děláš v tom PHP jsem nepochopil, ptáš se snad databáze, ne?

Řešil bych to tak, že bych si do db uložil každý produkt v každé variantě (každá varianta = samostatný řádek). Pak jednoduše vyberu ty varianty co mají dané parametry a cenu. Nevím, co je tu k vymýšlení.

Nahoru Odpovědět 18.5.2013 18:02
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Kit
Redaktor
Avatar
Odpovídá na landsman
Kit:

Také jsem moc nepochopil, na co máš tolik sloupců. Každou cenu přece zapíšeš do jednoho řádku ceníku.

Nahoru Odpovědět 18.5.2013 18:15
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Kit
Redaktor
Avatar
Odpovídá na David Čápka
Kit:

Nevím jestli na to půjde napasovat dekorátor. Možná by to stálo za zvážení, ale zadavateli by se to asi nelíbilo. Potřebuje, aby měl zákazník v cenách chaos.

Nahoru Odpovědět 18.5.2013 18:20
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
landsman
Člen
Avatar
Odpovídá na Kit
landsman:

Není pravda, chci aby měl zákazník naopak přehled co jaká volba udělá s cenou.

 
Nahoru Odpovědět 18.5.2013 19:08
Avatar
Kit
Redaktor
Avatar
Odpovídá na landsman
Kit:

V tom případě můžeš ten dekorátor použít, výrazné se ti zmenší počet sloupců. Budeš mít jen základní cenu a k tomu přirážky a slevy.

Samozřejmě sloupce ceníku budou v DB jako řádky.

Nahoru Odpovědět 18.5.2013 19:21
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
landsman
Člen
Avatar
landsman:

Ne, potřebuji dávat do databáze pevné ceny, to je ten problém.
Nějaké procenta, nebo příplatky nejdou. Pracuje se daným ceníkem.

 
Nahoru Odpovědět 18.5.2013 19:58
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na landsman
David Čápka:

To je jedno, stejně to budou řádky v DB.

Nahoru Odpovědět 18.5.2013 20:31
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 8 zpráv z 8.