login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Kolom waardes optellen

Offline pcio - 07/07/2009 22:00
Avatar van pcioNieuw lid Hallo,

Ik ben bezig met een factuur script te maken maar loop vast op het volgende.
Ik heb een tabel met de volgende kolommen:
Product Aantal Prijs Totaal

Het uitrekenen van de totaalprijs is al gelukt.
Alleen moet nu nog het totaal van alle totaalprijzen van elke regel bij elkaar worden opgeteld.
Hoe ik dit moet aanpakken zou ik echt niet weten.

Hier komt dan de prijs uit zonder btw, dus hierna moet het btw tarief worden berekend en dan moeten deze 2 waarden weer worden opgeteld.

Deze laatste 3 stappen lukken mij dus niet.
- Optellen van de hele kolom
- Berekenen van het btw tarief
- BTW optellen bij de totaalprijs

Ik heb het stukje code bijgevoegd.


Als iemand hiermee zou kunnen helpen, zou ik erg fijn vinden.
Alvast bedankt.

Groetjes,
pcio

Plaatscode: 137087

11 antwoorden

Gesponsorde links
Offline djb - 07/07/2009 23:31
Avatar van djb PHP beginner Heey,

Om alle totaal prijzen op te tellen kan je gebruik maken met de sql functie "COUNT()".

Hier word hij uitgelegd:
http://www.site...e_functies
http://www.tizag.com/mysqlTutorial/mysqlcount.php

De btw is denk ik totaalprijs * 1.19
Of als je alleen het btw wilt: totaalprijs * 0.19

die 19 weet ik niet zeker,, moet je even de rekenmachine naastleggen en weer terug rekenen etc  


Ik hoop dat je weer wat verder komt  
Offline Richard - 08/07/2009 01:14
Avatar van Richard Crew algemeen Hoe wil je het BTW tarief uitrekenen zonder er enige informatie over te hebben? Als het hoog-tarief is (19%) is het totaal * 1.19, en ((totaal / 1.19) * 0.19) om de BTW te krijgen.

Al die data krijg je met:
  1. SELECT product,
  2. aantal,
  3. prijs,
  4. prijs * aantal AS totaalprijs,
  5. (((prijs * aantal) / 1.19) * 0.19) AS btw_bedrag
  6. FROM tabel
  7. WHERE id = 1221376


Het totaal is vervolgens:
  1. SELECT SUM(prijs * aantal) AS totaal,
  2. ((SUM(prijs * aantal) / 1.19) * 0.19) AS btw_bedrag
  3. FROM tabel
  4. WHERE id = 1221376
Offline pcio - 08/07/2009 12:13 (laatste wijziging 08/07/2009 12:14)
Avatar van pcio Nieuw lid Als ik die code uitvoer krijg ik de volgende foutmelding:
  1. Warning: Wrong parameter count for mysql_result() in
  2. /home/login/domains/domein.nl/public_html/manager/facturen/pdf/factuur.php on line 117
  3. BTW bedrag is:
  4. Warning: Wrong parameter count for mysql_result() in
  5. /home/login/domains/domein.nl/public_html/manager/facturen/pdf/factuur.php on line 118
  6. Totaal bedrag is:


Mijn php code
  1. echo'BTW bedrag is: '.mysql_result(mysql_query("SELECT product,aantal,prijs,prijs * aantal AS totaalprijs,(((prijs * aantal) / 1.19) * 0.19) AS btw_bedrag FROM factuurregel WHERE factuurnummer = 1")).'';
  2. echo'Totaal bedrag is: '.mysql_result(mysql_query("SELECT SUM(prijs * aantal) AS totaal,((SUM(prijs * aantal) / 1.19) * 0.19) AS btw_bedrag FROM factuurregel WHERE factuurnummer = 1")).'';
Offline voltrex - 08/07/2009 14:06 (laatste wijziging 08/07/2009 14:07)
Avatar van voltrex Lid Code eerst uitvoeren met mysql_query.
  1. $query ="SELECT product,aantal,prijs,prijs * aantal AS totaalprijs,(((prijs * aantal) / 1.19) * 0.19) AS btw_bedrag FROM factuurregel WHERE factuurnummer = 1";
  2. mysql_query($query) or die ('Ge hebt het weer fout gedaan. :D');


En dan fletchen.
-> En dan komt je echo pas langs. 
Offline pcio - 08/07/2009 14:17
Avatar van pcio Nieuw lid en moet ik dan de echo uitvoeren als:
  1. echo''.$totaalprijs.'';


Of via een andere manier?
Offline Koen - 08/07/2009 14:20
Avatar van Koen PHP expert
voltrex schreef:
Code eerst uitvoeren met mysql_query.
[..code..]

En dan fletchen.
-> En dan komt je echo pas langs. 


Uh...?

  1. echo 'BTW bedrag is: '.mysql_result(mysql_query("SELECT (((prijs * aantal) / 1.19) * 0.19) AS btw_bedrag FROM factuurregel WHERE factuurnummer = 1"), 0);
  2. echo 'Totaal bedrag is: '.mysql_result(mysql_query("SELECT SUM(prijs * aantal) AS totaal FROM factuurregel WHERE factuurnummer = 1"), 0);


Bekijk PHP.net: mysql_result maar eens even 
Offline pcio - 08/07/2009 14:28
Avatar van pcio Nieuw lid als ik
  1. $query ="SELECT omschrijving,aantal,prijs,prijs * aantal AS totaalprijs,(((prijs * aantal) / 1.19) * 0.19) AS btw_bedrag FROM factuurregel WHERE factuurnummer = 1";
  2. mysql_query($query) or die ('Ge hebt het weer fout gedaan. :D, Fout: '. mysql_error());

gebruik dan krijg ik de volgende foutmelding:
  1. Warning: Wrong parameter count for mysql_result() in
  2. /home/login/domains/domein/public_html/manager/facturen/pdf/factuur.php on line 121
Offline voltrex - 08/07/2009 14:29
Avatar van voltrex Lid
Koen schreef:
[..quote..]

Uh...?

[..code..]

Bekijk PHP.net: mysql_result maar eens even 

Elke keer dat ik net denk dat ik het juist heb  
Offline djb - 08/07/2009 14:38
Avatar van djb PHP beginner
  1. $query ="SELECT omschrijving,aantal,prijs,prijs * aantal AS totaalprijs,(((prijs * aantal) / 1.19) * 0.19) AS btw_bedrag FROM factuurregel WHERE factuurnummer = 1";
  2. $query = mysql_query($query) or die ('Ge hebt het weer fout gedaan. :D, Fout: '. mysql_error());
  3. $gegevens = mysql_fetch_assoc($query);
  4. echo "<pre>".print_r($gegevens,1)."</pre>";


met die code (moet je als het goed is) een array terug krijgen en print alles op het scherm.
Dat is misschien handig om ff te debuggen  
Offline Koen - 08/07/2009 17:24
Avatar van Koen PHP expert In mijn reply staat al een oplossing voor de code die jij gebruikte. Waarom negeer je die dan gewoon?!

Hoewel inderdaad het opzet van JeXuS was dat je één query draaide en dan met mysql_fetch_row of mysql_fetch_assoc deze gegevens ophaalt, wat sneller is dan 2 queries natuurlijk.
Offline pcio - 09/07/2009 15:49 (laatste wijziging 09/07/2009 15:49)
Avatar van pcio Nieuw lid
djb schreef:
[..code..]

met die code (moet je als het goed is) een array terug krijgen en print alles op het scherm.
Dat is misschien handig om ff te debuggen  


Ik krijg de volgende array terug:
  1. (
  2. [omschrijving] => product
  3. [aantal] => 2
  4. [prijs] => 3.10
  5. [totaalprijs] => 6.20
  6. [btw_bedrag] => 0.98991597
  7. )


En de factuur ziet er zo uit:
omschrijving - aantal - prijs - totaalprijs
product 1 - 2 - 3,10 - 6,20
product 2 - 5 - 10 -50

De totaalprijs wordt nu dus al automatisch berekend.
Nu moet ik nog iets voor elkaar krijgen dat 6,20 en 50 bij elkaar worden opgeteld. En dat hier dan de btw weer voor berekend wordt.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.27s