Beste PHP-ers,

Ik ben geen ervaren php-er, maar stuit tegen het volgende probleem. Ik ben bezig met een soort van facturatie-tool. En wil alleen de bedragen optellen met de korting geselecteerd is:

mijn code voor de berekening van het subtotaal:

<?php $subtotaal+= $row_Recordset ['prijs'] ;?>

Het subtotaal werkt ... maar nu wil ik zoiets:

<?php $bedragkorting += $row_Recordset2['prijs'] ; ?> ( nu komt mijn visie) if ...row_recordset2 ['korting'] ==ja.

Dus als er bij korting ja staat moet hij alleen die bedragen optellen.

Wie kan mij helpen...

Nog even de korting code:

<?php if ($row_Recordset2['korting'] == 0) { echo "nee"; }else { echo "ja"; }?>

Deze korting wordt ook opgeslagen in de mysql-database. Wie op wie biedt mij de helpende hand..

Alvast bedankt.

Freakme
aan de hand van jouw voorbeeld probeer ik het nu als volgt ...met mijn bestaande variabelen:

<?php $korting_over_totaal = $bedragkorting * ($row_Recordset1['kortingspercentage'] / 100);?>

Maar met deze berekening geeft hij helemaal niets.

Wat doe ik fout?
Je kan ook elk product een multiplier meegeven in een aparte kolom in je database. Dat is veel makkelijker en per record uit te rekenen.

Geen korting: een multiplier van 1.

Wel korting (bijvoorbeeld 20%) zou je handmatig zo uitrekenen:

100 euro
20 euro korting (20%)
-----------
80 euro over

Sneller is het natuurlijk om 100* ((100% - 20%) / 100) = 100 * 0,8 = 80 euro.

als je een kolom korting neemt is het eigenlijk heel simpel:


SELECT bedrag*bedrag_multiplier AS bedragmetkorting
FROM tabelmetbedragen


of andersom als je het in percentages wilt geven (edit: bij geen korting wel een 0 en geen NULL waarde nemen):


SELECT bedrag*((100-bedrag_percentagekorting)/100) AS
bedragmetkorting


is een nette en snelle manier.
Beste Arend,

Bedankt voor je info, maar de voorbeelden en uitleg van Kalle begrijp ik beter. Deze sluiten beter op mijn script en denkwijze aan. Misschien ben ik daar nog te onervaren voor.

Ik hoop dat Kalle nog even wil reageren.

Greetings,

freakme
Hmm ja daar ben ik weer, was ff voetbal kijken + eten.

Hmm maar iniedergeval bereken wat jij schreef was maar de helft hoe je het kortingspercentage uitrekend van het totaal bedrag.

dus bij je krijgt niks als je dit doet:

<?php
//...code
echo $bedragkorting *
($row_Recordset1['kortingspercentage'] / 100);
?>

Als je niks krijgt, probeer de apart de variabelen eens te echo'en om te zien waar de fout zit.

Daarnaast is het in de toekomst wel verstandig om het wat anders aan te pakken, met sql e.d. Maar dat heb je zelf ook al kunnen lezen.
yep thanxs...ik ga weer eens proberen
Slaat helemaal nergens op.
Ik wilde zeggen dat dit ook met sql zelf kan met bij IF of CASE , maar ik kom niet uit de syntax

Reageren