Werte der selben ID addieren

creativeheadz

Erfahrenes Mitglied
Hallo,
Ich lese aus meiner Datenbank Werte aus und summiere dann alle Werte derselben ID.

Der Code dafür sieht folgendermaßen aus und er funktioniert auch.

PHP:
$query= "SELECT lieferanten_produkte.LPID,
				lieferanten_produkte.KID,
				lieferanten_produkte.LID ,
				lieferanten_produkte.PREIS as PREIS,
				sum(lieferanten_produkte.PREIS) as GESAMTPREIS_OHNE_MENGE,
				lieferanten_produkte.TYP,
				warenkorb.AID,
				warenkorb.SID,
				warenkorb.KID,
				warenkorb.TYP,
				warenkorb.MENGE		


FROM  warenkorb INNER JOIN lieferanten_produkte

WHERE warenkorb.SID='$SID' && warenkorb.TYP='".$_GET['TYPSELECT']."' && lieferanten_produkte.TYP='".$_GET['TYPSELECT']."' &&  lieferanten_produkte.KID = warenkorb.KID GROUP BY lieferanten_produkte.LID ORDER BY GESAMTPREIS_OHNE_MENGE";

$result = mysql_query($query) or die(mysql_error());

while($row = mysql_fetch_object($result)){


echo $row->LID.' - Preis: '.$row->GESAMTPREIS_OHNE_MENGE.' EUR<br>';

}


Die Ausgabe sieht dann so aus:

1 - Preis: 1.00 EUR
( Summe aller Produkte der LID = 1 / Produkt1= 0.50 + Produkt2= 0.50)

2 - Preis: 1.50 EUR
( Summe aller Produkte der LID = 2 / Produkt1= 0.50 + Produkt2= 1.0)

usw.

Nun habe ich folgendes Problem. Es kommt vor das der Nutzer für jedes Produkt eine andere Mengenangabe macht. Wie kann ich das Gesamtergebnis inklusve der Mengenangabe berechnen?

Beispiel:

1 - Preis: 2.50 EUR
( Summe aller Produkte der LID = 1 / 2 * Produkt1= 0.50 + 3 * Produkt2= 0.50)

2 - Preis: 5.00 EUR
( Summe aller Produkte der LID = 2 / 2 * Produkt1= 0.50 + 4 * Produkt2= 1.0)

Mein Ansatz sah wie folgt aus, war aber vollkommender Mumpitz


PHP:
$query= "SELECT lieferanten_produkte.LPID,
				lieferanten_produkte.KID,
				lieferanten_produkte.LID ,
				lieferanten_produkte.PREIS as PREIS,
				sum(lieferanten_produkte.PREIS) as GESAMTPREIS_OHNE_MENGE,
				lieferanten_produkte.TYP,
				warenkorb.AID,
				warenkorb.SID,
				warenkorb.KID,
				warenkorb.TYP,
				warenkorb.MENGE		


FROM  warenkorb INNER JOIN lieferanten_produkte

WHERE warenkorb.SID='$SID' && warenkorb.TYP='".$_GET['TYPSELECT']."' && lieferanten_produkte.TYP='".$_GET['TYPSELECT']."' &&  lieferanten_produkte.KID = warenkorb.KID GROUP BY lieferanten_produkte.LID ORDER BY GESAMTPREIS_OHNE_MENGE";

$result = mysql_query($query) or die(mysql_error());

while($row = mysql_fetch_object($result)){


if($LID == $LID){

$GESAMTSUMME	= $row->MENGE * $row->PREIS;

$GESAMTSUMME	= $GESAMTSUMME + $GESAMTSUMME;

}


echo $row->LID.' - Preis: '.$GESAMTSUMME.' EUR<br>';

}
 
Moin,

ich weiss nicht, ob ich dich recht verstanden habe, aber du kannst SUM auch auf das Ergebnis einer mathematischen Operation anwenden:

Code:
 sum(lieferanten_produkte.PREIS * warenkorb.MENGE )
 
Zurück