mysql: gesamtwert ermitteln

  • Themenstarter Themenstarter fercules
  • Beginndatum Beginndatum
F

fercules

ich bastele gerade an einem kleinen warenkorb. soweit läuft alles ganz gut. jedoch machen mir die zeilen menge und preis noch ein problem. ich möchte den gesamteinkaufswert ermitteln und muss dazu jeweils die menge mal den einzelpreis nehmen und das für jeden artikel. hier steh ich jetzt etwas auf dem schlauch :-)

grüße
fercules
 
Deine Datenbankstruktur wäre für die Lösung dieses Problems sehr von Vorteil. Wäre nett, wenn du sie mal posten könntest.
 
Menge | Preis
-------------------
2 | 4,00
3 | 5,00
4 | 6,00

Etwa so siehts aus, jetzt möchte ich den Gesamtpreis ermitteln. Vielleicht mit GROUP BY? Aber wie berücksichtige ich die Menge? :-(
 
Es gibt bestimmt auch einen Weg, der direkt über MySQL führt. Ein Beispiel über einen Umweg (PHP) kann ich dir jetzt schon geben:
PHP:
$sql = mysql_query("SELECT * FROM warenkorb");
while ($row = mysql_fetch_array($sql)) {
    $gesamtpreis = $gesamtpreis + ($row['Menge'] * $row['Preis']);
}
 
mysql

zunächst mal danke für dein beispiel, das ich mir gleich mal genauer anschauen und testen werden. trotzdem würde es mich sehr interessieren, wie man sowas mit mysql hinbekommen würde. wäre ja noch ne nummer eleganter :-)

grüße
fercules
 
Ach ich Dummkopf habe mal wieder zu kompliziert gedacht :-(
Das sollte funktionieren:
Code:
SELECT SUM( Menge * Preis ) FROM warenkorb

Und, um es dann in PHP verwenden zu können:
PHP:
$sql = mysql_query("SELECT SUM( Menge * Preis ) as gesamtpreis FROM warenkorb");
$row = mysql_fetch_array($sql);
$gesamtpreis = $row['gesamtpreis'];
 
Zuletzt bearbeitet:
genial

genial, auch das andere war schon einfach. aber hier das ist ja wie echo "hello world"; :p

wirklich genial, deswegen mag ich php, mysql und dieses forum nebst seinen mitgliedern so. alles ist unkompliziert, man verstehts und es klappt ;-)

grüße
fercules
 
Re: genial

Original geschrieben von fercules
[...] wirklich genial, deswegen mag ich php, mysql und dieses forum nebst seinen mitgliedern so. alles ist unkompliziert, man verstehts und es klappt ;-)
Genau so sehe ich das auch :)
 
leider rundet er

sag mal, woran kann es liegen dass er das ganze rundet? wenn ich 495,99 im warenkorb liegen habe, macht er mit deiner php/mysql methode einfach 495 draus. hier nochmal dein code:

$sql = mysql_query("SELECT * FROM warenkorb");
while ($row = mysql_fetch_array($sql)) {
$gesamtpreis = $gesamtpreis + ($row['menge'] * $row['einzelpreis']);
}

komisch dass er rundet.....son mist :-)
 
Merkwürdig eigentlich. Von welchem Typ sind denn deine Tabellenfelder in der Datenbank?
Wie siehts mit der reinen MySQL-Lösung aus? Rundet die auch?
 
Zurück