PHP & mySQL, räkna ihop värden från fält

Permalänk
Medlem

PHP & mySQL, räkna ihop värden från fält

Jag håller på med ett kund och faktureringssystem men har stött på ett problem med att räkna ihop det totala priset.

I tabellen finns det 4 fält, fakturanummer, beskrivning, antal, pris.
Det jag då vill göra är att plocka ut alla pris (antal * pris) från tabellen faktura_info där fakturanumret ex. 1000 och räkna ut det totala priset.

Någon som har några ideér?
Isåfall är jag tacksam för hjälp.

Visa signatur

Lian-Li V600, Intel Core2 Duo E6400 2,13GHz, Asrock ConroeXFIRE-ESATA2, 1GB DDR2, nVidia 7600GS 256MB, Samsung Syncmaster 172X

Permalänk

<fulkod>

$sql = "SELECT antal, pris FROM faktura_info WHERE fakturanummer ='1000'"; $result = mysql_query($sql); $totPris = 0; while ($row = mysql_fetch_assoc($result)) { $totPris += ($row['antal'] * $row['pris']); }

</fulkod>

Finns garanterat en snyggare lösning på detta.

Permalänk
Medlem

Ingen som helst aning om detta fungerar, men du kan ju testa

SELECT SUM(antal*pris) AS totprice FROM table

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av gagg
Ingen som helst aning om detta fungerar, men du kan ju testa

SELECT SUM(antal*pris) AS totprice FROM table

Just vad jag satt och funderade på...om funktioner som SUM/AVG/COUNT etc finns i MySQL också.
Undrar om dom gör det

Visa signatur

CCNA sedan juni 2006

Permalänk
Medlem
Visa signatur

Swec @ 2001 / Chalmerist - Javisst!
'Den som har flest prylar när han dör vinner!'

Permalänk
Medlem

Andnil223, din lösning fungerade perfekt
Funderade länge på nåt liknande men fick inte till det där lilla extra.

Bara för att testa och lära mig vill ja även prova på koden som gagg skrev, men jag fick inte koden att fungera.

Kod som jag använde mig utav:

<?php $lank = mysql_connect("localhost", "root"); $databas = mysql_select_db("dintellect_kunder"); $sql = "SELECT SUM(antal*pris) AS totprice FROM faktura_info WHERE faktnr = '1000'"; while ($totalt = mysql_fetch_assoc($sql)) { echo $totalt["totprice"]; } ?>

Edit: Det löste sig, lade till en rad

$result = mysql_query($sql);

Tackar för hjälpen med detta!

Visa signatur

Lian-Li V600, Intel Core2 Duo E6400 2,13GHz, Asrock ConroeXFIRE-ESATA2, 1GB DDR2, nVidia 7600GS 256MB, Samsung Syncmaster 172X

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Zapher
Ja... http://dev.mysql.com/doc/mysql/en/group-by-functions.html

Mmm...läckert. Massa group-functions, även sådana som tex ROLLUP, och så subquerys i nyare MySQL, och regexp osv osv.
Verkar ha det mesta av vad Oracle klarar....iallafall vad man kan se på min amatörmässiga nivå

Borde finnas lite MySQL-kurser på KTH
Mycket enklare att ta tag i saker och ting när man läser en kurs än när man ska sitta hemma själv...

Men såklart, det har ju inget inbyggt procedurspråk som Oracles PL/SQL, och triggers och sånt blir väl svårt då också antar jag.

Visa signatur

CCNA sedan juni 2006