Naučit se HTML & CSS, JS a Bootstrap Sleva na školení
Získej 500 Kč na naše školení. Více zde
Probíhá výprodej HTML & CSS, JavaScript a Bootstrap
Avatar
BtVc
Člen
Avatar
BtVc:3. května 23:12

Ahoj kolegovia,

chcel by som Vás požiadať o radu. Momentálne riešim jeden požiadavok klienta na rozdiel cien pri istých kombináciách. Aby som to moje vysvetľovanie trošku zjednodušil, prevediem príklad na e-shop / košík.

Každý produkt má jasne špecifikovanú cenu, napríklad:

  • Chlieb - 20 Kč
  • Maslo - 60 Kč
  • Soľ - 10 Kč

A teraz by som potreboval nejakým spôsobom definovať kombinácie x produktov a ich cenu, napríklad:

  • Chlieb + Soľ - 24 Kč
  • Chlieb + Maslo - 76 Kč
  • Chlieb + Maslo + Soľ - 79 Kč

Vedel by ma prosím niekto nasmerovať čo k naj-elegantnejšiemu riešeniu?

Veľmi pekne ďakujem za akúkoľvek pomoc.

 
Odpovědět 3. května 23:12
Avatar
Odpovídá na BtVc
Tomáš Novotný:4. května 0:50

Ahoj,
napadá mne trochu jiný pohled na věc. Přijde mi vhodnější definovat spíše slevu za kombinaci produktů. Když bys přeceňoval některou ze "surovin" tak bys musel přeceňovat i jejich možné kombinace. To by mohlo být nepřehledné. Pokud ale bude sleva zvolena třeba procentem + zaokrouhlení, tak se situace vyřeší sama.
Navíc víš kolik rozdáváš na slevách a základní produkt máš stále za stejnou cenu. Výhodu také vidím v možném kombinovaní/ne­kombinování jiných druhů slev/akcí, které se mohou částečně překrývat. Třeba akce black friday ta je pro všechny příchozí pak třeba + bonus za registraci nebo pro někoho + bonus věrný zákazník... všechny mohou platiti v jeden den na jednu kombinaci produktů jednu objednávku, ale výsledná cena bude vždy jiná.
Ale zpět k tématu. Pak bych už jen prošel platné kombinace a započetl slevu, pokud "v košíku" na ni vznikne nárok. Jen pozor na započítání slevy několikrát... patrně půjde o průchod skupin slev s nejvíce prvky po ty s nejméně.
Snad jsem byl srozumitelný. A někdo třeba naváže s dalším vhodným nápadem.

Nahoru Odpovědět 4. května 0:50
∞ ... the exact amount of possibilities how to deal with the situation ... so by calm, your solution is one of many
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:6. května 7:56

Urcite by meli slevy a podobne akce byt vedene ve zvlast tabulce. Aby to slo pridavat ke kosiku. A asi bys mel i hlidat, aby ji nekdo nezmenil, kdyz ji uz ma zakaznik v kosiku.. Pripadne, abys byl schopen dohledat puvodni udaje k ni.

Asi bych sel take do procent.

a + b
a + c
a + b + c
tady bych si dal bacha na kombinace
a + a + b
a + a + a
Jakoze asi budes mit nekde sadu zbozi a, sadu b, sadu c. A pokud je v kosiku zbozi z a, sleva + 5%, totez b, c, takze nakonec 15%
id, idn, id_zbozi

SELECT COUNT (sleva)
(SELECT FROM sady WHERE
  (in_n=1 AND id_zbozi IN (1,2,3,4,5)) OR
  (in_n=2 AND id_zbozi IN (1,2,3,4,5)) OR
) AS sleva

Ale jestli je to efektivni, to nevim, nezkousel jsem. Co vim, tak obvykle delaji slevove akce jako 1 radek v tabulce, od-do, kategorie zbozi nebo individualni vyrobek. Takhle to propojovat, spis nee.

 
Nahoru Odpovědět 6. května 7:56
Avatar
Odpovídá na BtVc
Michal Štěpánek:6. května 10:16

Nevím, do jaké míry tam řešíš i skladové hospodářství a účetnictví za zboží, ale zkusil bych popřemýšlet o těch slevách jako o další položce ceníku (dalším "produktu") jako balíčku více surovin s danou cenou.

  • chleba
  • máslo
  • sůl
  • chleba + máslo
  • chleba + sůl
  • chleba + máslo + sůl

    ...

Nahoru Odpovědět 6. května 10:16
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:6. května 10:30

No, on prave nejspis chce, ze, kdyz si uzivatel klikne na tricko, ponozky, kalhoty, tak dostane slevu za to, ze je to textil. Nebo mozna neco v tom smyslu, kdyz je to vsechno v jednom regalu.

 
Nahoru Odpovědět 6. května 10:30
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 5 zpráv z 5.