Rekenkundig II
Iets moeilijker nu:
Het volgende tabel telt het aantal mensen dat heeft gestemd en berekend het nieuwe gemiddelde uit. Het veld stemmen (integer) telt het aantal stemmen,het
veld average (decimal 4,2) voor de gemiddelde score en het veld enquete_id (integer, primary key) geeft aan welke enquete het is. De op te geven stem loopt van 1 tot 10 en wordt vertegenwoordigd door de variabele $score.
"UPDATE enquete SET
average = (((average*stemmen)+".$score.")/(stemmen+1)),
stemmen = (stemmen+1)
WHERE enquete_id='1'
"
Uitwerking
(average*stemmen)
Vermenigvuldig het gemiddelde met het aantal uitgebrachte stemmen
((average*stemmen)+".$score.")
verhoog dit met de nieuw uitgebrachte stem in $score
(((average*stemmen)+".$score.")/(stemmen+1))
en deel het vervolgens door het nieuw totaal uitgebrachte stemmen
average = (((average*stemmen)+".$score.")/(stemmen+1))
plaats het als nieuwe waarde in het veld average
stemmen = (stemmen+1)
Hoog het aantal uitgebrachte stemmen met 1 op en plaats dat als nieuwe waarde
Op zich is dit al een enquete script, je hoeft alleen nog het formulier en de database connectie erbij te plaatsen.