hey ik heb een probleem,
ik heb een tavel 'winkel'
daar in zitten tabellen met id, naamproduct, kost,aantal,totaalprijs

nu wil ik dat als ik bijvoorbeeld 3 producten in de winkel tabel heb dat ik die drie eind bedragen in dit geval totaalprijs bij elkaar opteld en in subtotaal zet hoe doe ik dat??
wie kan mij helpen. ;)
@Jan, ik ken die manier ook wel, gebruik hem zelf ook heel vaak, maar hier gaat die denk ik niet op omdat hij ook met aantallen zit.
Ik weet niet of MySQL de prijzen maal die aantallen kan doen in zijn query?
Als dat zo is, dan zou ik die manier ook wel willen weten, dan kan ik ook nog heel wat pagina's veranderen ;)
@ Stefan: geef even een tabelstructuur en wat er precies uit moet rollen?
bijv.

id | productID | prijs | aantal

en dat je dan met een query het totaal van bijv. de volgende records kunt berekenen

1 | 24 | 0.50 | 5
2 | 56 | 1.50 | 10

In 1 query is lastig, maar in 2 kan het zeker:

SELECT
product_id,
prijs,
aantal,
(prijs * aantal) AS subtot
FROM producten

geeft een lijst, en:

SELECT
SUM(prijs * aantal) AS tot
FROM producten

geeft alle subtotalen opgeteld
@Jan, de productID hoef je in je berekening natuurlijk niet te gebruiken aangezien de prijs in dit voorbeeld al gegeven is in de bestaande tabel om het iets makkelijker te maken.

Maar ik wist niet dat je SUM(prijs * aantal) in een query kon doen, ik zal dit op zeer korte termijn eens uitproberen en als het goed werkt mijn pagina's aanpassen.
@Jan, de productID hoef je in je berekening natuurlijk niet te gebruiken aangezien de prijs in dit voorbeeld al gegeven is in de bestaande tabel om het iets makkelijker te maken.

Is hier voor de berekening niet nodig, maar als je bijvoorbeeld een lijst aan een klant wilt presenteren, wel. Overigens klopt het datamodel niet; de prijs van een product hoort in een tabel producten en deze tabel zou eigenlijk orderregels moeten heten.
Maar ik wist niet dat je SUM(prijs * aantal) in een query kon doen, ik zal dit op zeer korte termijn eens uitproberen en als het goed werkt mijn pagina's aanpassen.

Die tweede query is vooral handig als je alleen een totaal wilt, zonder de eerste uit te hoeven voeren. Als je de eerste toch al uitvoert, kun je idd net zo goed een tellertje laten meelopen in de while loop waarin je de resultaten fetcht.
ok heel erg bedankt allemaal ik snap het!
het is natuurlijk ook handig om bijvoorbeeld te zeggen van "ër zijn 3 producten in uw winkelwagen"
wil je de code daarvoor weten?

die is zoiets als dit

<?php
$query = "SELECT COUNT(*) AS aantal FROM winkelwagen WHERE ip='".$_SERVER['REMOTE_ADDR']."'";
$result = mysql_query($query) or die (mysql_error());
$aantal = mysql_result($result,'aantal');
?>


$aantal bevat dan het aantal producten (rijen) in de winkelwagen van die persoon.
ok en hoe zal ik het beste dan kunnen zeggen van klik hier om bestelling afteronden
ik heb wel wat maar dat is niet stabiel zeg maar ik moet een email stuuren naar de besteller en naar mij.
en in alle bij moet die bestelling in de mail komen.
oh ja mij winkel systeem werkt op ip dus je moet dus alles in de mail kunnen zien die hij dus verzent met zijn ip.



meschien moet ik eerst de producten in zijn winkel wagen eerst verplaatsen naar een ander tabel in de datavase iets met select all from winkelwagen where ip = $ipadd AND insert from open-orders ....
en veder weet ik het niet of dat kan !! en als het kan hoe !!

wie weet hier een oplossing voor

Reageren