quote:
Op maandag 16 april 2018 08:44 schreef Broodjekipkorn het volgende:Goedemorgen,
Ik ben bezig met een simpel ordersysteem en eigenlijk is het ver af. Het enige wat nog fout gaat, is de berekening van de prijs. Op
deze pagina heb ik een opzetje gemaakt van het ordersysteem. Wanneer je bijv. furniture openklikt, en je klikt daar tweemaal op pijltje omhoog (dan maak je er dus value = 2 van) bij het eerste item, dan komt hij op een totaalbedrag voor furniture op 76.50, terwijl het product 25.50 kost.
Typ ik in één keer 2 in dat invoerveldje bij dat product, dan komt er wél netjes 51 te staan. Wat gaat hier mis? De code is te bekijken middels de pagina.
Thanks in advance.
Pijltje omhoog -> bedrag wordt 25.50
Nog een keer pijltje omhoog -> bedrag wordt 76.50
Pijltje omlaag -> bedrag wordt 102.00
Ergo, bij het berekenen van de totaalprijs ga je alleen uit van de nieuwe waarde van het gewijzigde invoerveld. Dat doe je maal de bijbehorende prijs, en dat resultaat tel je op bij de bestaande som.
De failsafe manier van afhandelen is het totaalbedrag opnieuw berekenen, ongeacht welk veld er gewijzigd is. Gewoon voor alle invoervelden aantal * bijbehorende prijs, en dat resultaat optellen.
Overigens gaat het achteraf aanpassen van een ingevulde waarde ook fout in de prijsberekening. Dat los je dan meteen ook op.