Hallo,
mein Warenkorb funktioniert sehr gut, nun möchte ich gerne noch die Summe zusammen zählen, das ist meine Funktion die ich bis jetzt habe:
function warenkorb($mysqli, $userID) {
$stmt = $mysqli->prepare("SELECT wk_id, wk_wkID, wk_userID, wk_artikelID, wk_preis, wk_test, wk_mail_fax, p_bezeichnung, p_artnr, p_farbe, p_inhalt
FROM web_warenkorb
LEFT JOIN web_produkte ON web_produkte.p_code = web_warenkorb.wk_artikelID
WHERE wk_userID = ? ");
$stmt->bind_param("s", $userID);
$stmt->execute();
$stmt->bind_result($wk_id, $wk_wkID, $wk_userID, $wk_artikelID, $wk_preis, $wk_test, $wk_mail_fax, $p_bezeichnung, $p_artnr, $p_farbe, $p_inhalt);
$stmt->store_result();
if($stmt->num_rows() > 0) {
while ($stmt->fetch()){
$warenkorb[] = array(
'wk_id' => $wk_id,
'wk_wkID' => $wk_wkID,
'wk_userID' => $wk_userID,
'wk_artikelID' => $wk_artikelID,
'wk_preis' => $wk_preis,
'wk_test' => $wk_test,
'wk_mail_fax' => $wk_mail_fax,
'p_bezeichnung' => $p_bezeichnung,
'p_artnr' => $p_artnr,
'p_farbe' => $p_farbe,
'p_inhalt' => $p_inhalt
);
}
return $warenkorb;
}
}
Alles anzeigen
Meine Ausgabe sieht dann so aus
foreach($warenkorb as $array){
$BruttoBetrag = round(str_replace (",", ".", $array['wk_preis']) * 1.19, 2);
$BruttoBetrag = str_replace (".", ",", $BruttoBetrag);
echo htmlspecialchars($array['p_artnr']);
echo htmlspecialchars($array['wk_preis']);
}
Alles anzeigen
Benötige ich jetzt eine zweite Funktion um den Preis zusammen zählen zu können, oder könnte ich dieses mit in meine Hauptfunktion bauen? Ich weiß dass ich es scheinbar direkt in MySQL machen kann mit SUM(wk_preis) AS 'betragKomplett' aber wie wende ich diese an? Auf PHP.net habe ich gelesen, es könnte wohl auch mit Array_sum machen, aber auch hier weiß ich nicht so recht, wie ich dieses anwenden soll.
Vielleicht könnt ihr mir hier weiterhelfen. Der Preis soll natürlich nur einmal ganz am Ende meiner Auflistung stehen. Ich hoffe ihr versteht was ich meine.
Edit: Mit einer Zusätzlichen Funktion geht es
function warenkorbPreis($mysqli, $userID){
$stmt = $mysqli->prepare("SELECT SUM(wk_preis) AS `preisKomplett` FROM web_warenkorb WHERE wk_userID = ? ");
$stmt->bind_param("s", $userID);
$stmt->execute();
$stmt->bind_result($preisKomplett);
$stmt->store_result();
if($stmt->num_rows() > 0) {
while ($stmt->fetch()){
$warenkorbPreis[] = array(
'preisKomplett' => $preisKomplett
);
}
return $warenkorbPreis;
}
}
Alles anzeigen