[PHP] Korting berekenen

Pagina: 1
Acties:
  • 289 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Matthijs1982
  • Registratie: Augustus 2005
  • Laatst online: 02-06-2021
Ik heb niet direct een probleem met php, maar eigenlijk met een formule die ik moet uitvoeren.

Het gaat om het berekenen van gratis producten wanneer iemand online een offerte aanvraagt.

Het is het beste te omschrijven als volgt;
De prijs van het product is 40 euro.
Bestel je er 8 dan wordt de prijs 35 euro.

Dit geldt steeds met eenheden van 8.
Dus 16 producten kosten even veel als 15 producten.
24 producten kosten evenveel als 23 producten.

22 producten kosten wel weer 40 euro, omdat je dan geen eenheid van 8 meer hebt.

Ik hoop dat ik het zo een beetje duidelijk heb omschreven.

Weet iemand of het mogelijk is om dit met een vaste formule te berekenen?
Ik heb al veel geprobeerd, maar kom er niet uit.

Acties:
  • 0 Henk 'm!

Verwijderd

Dit is toch simpel. Modulus 8 als de uitkomst geen 0 is dan heb je rest en dus geen eenheid van 8

Acties:
  • 0 Henk 'm!

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Volgens mij klopt je theorie niet helemaal*

Volgens mij moet je naar de modulos operator en dan ligt het aan jou of je die gebruikt voor de staffel of de korting :)

* als je 22 producten koopt, dan heb je toch 16 producten (voor de prijs van 35) + 6 producten voor 40?

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


Acties:
  • 0 Henk 'm!

  • momania
  • Registratie: Mei 2000
  • Laatst online: 22:26

momania

iPhone 30! Bam!

Dus het is alleen maar met korting als het totaal deelbaar is door 8 ?

Als iemand dus 17 producten besteld kijgt hij niet 16 x 35 en 1 x 40?

Neem je whisky mee, is het te weinig... *zucht*


Acties:
  • 0 Henk 'm!

  • DeadMetal
  • Registratie: Mei 2002
  • Laatst online: 15:00
Je zal inderdaad met modulus moeten werken, dan is het eenvoudig uit te rekeken. Als de rest 0 is (dus een veelvoud van 8) hanteer je de korting etc.

http://www.mastercode.nl/artikel/81/

Acties:
  • 0 Henk 'm!

  • _js_
  • Registratie: Oktober 2002
  • Laatst online: 18-08 21:31
Als je 22 koopt zijn de eerste 16 wel goedkoper? In dat geval neem je eerst het aantal hele groepen van 8 stuks (delen door 8, naar beneden afronden) en daar tel je bij op het aantal modulo 8.

Acties:
  • 0 Henk 'm!

Verwijderd

Ook ik snap je principe/voorbeeld niet helemaal als ik het lees? Maar een modulus 8 moet je in ieder geval de goede richting op helpen ;)

Acties:
  • 0 Henk 'm!

Verwijderd

Je hebt dus floor ( $aantal / 8 ) * 7 + $aantal % 8 producten die moeten worden betaald. Het lijkt me dat als je 10 producten koopt, je er 9 betaalt. Dat 24 producten net zoveel kost als 23 producten vind ik niet logisch. Dat zou net zoveel als 21 producten moeten zijn. Anders bestel ik wel 3 keer 8 producten als losse bestelling.

Acties:
  • 0 Henk 'm!

  • Matthijs1982
  • Registratie: Augustus 2005
  • Laatst online: 02-06-2021
Als je er 9 koopt, krijg je er 8 voor 35,- en 1 voor 40,-
Dus steeds met groepen van 8.

Koop je er bijv. 46 dan krijg je dus 40 x 35 en 6 x 40

Acties:
  • 0 Henk 'm!

  • Pinobigbird
  • Registratie: Januari 2002
  • Laatst online: 20:15

Pinobigbird

doesn't share food!

Matthijs1982 schreef op maandag 06 augustus 2007 @ 17:25:
Als je er 9 koopt, krijg je er 8 voor 35,- en 1 voor 40,-
Dus steeds met groepen van 8.

Koop je er bijv. 46 dan krijg je dus 40 x 35 en 6 x 40
In je OP zei je van niet:
22 producten kosten wel weer 40 euro, omdat je dan geen eenheid van 8 meer hebt.

Joey: Nice try. See the Netherlands is this make believe place where Peter Pan and Tinkerbell come from.
https://kattenoppasleiderdorp.nl
PV: 3080Wp ZO + 3465Wp NW = 6545Wp totaal 13°tilt


Acties:
  • 0 Henk 'm!

  • momania
  • Registratie: Mei 2000
  • Laatst online: 22:26

momania

iPhone 30! Bam!

rest = aantal % 8;
prijs = ((aantal - rest) * kortingprijs) + (rest * normaleprijs)

[ Voor 179% gewijzigd door momania op 06-08-2007 17:37 ]

Neem je whisky mee, is het te weinig... *zucht*


Acties:
  • 0 Henk 'm!

Verwijderd

Zei ik toch. Ik wilde het alleen niet helemaal voorkauwen

Acties:
  • 0 Henk 'm!

  • Matthijs1982
  • Registratie: Augustus 2005
  • Laatst online: 02-06-2021
Ok, ik ben eruit.
Bedankt voor jullie hulp.
Pagina: 1