Beste php'ers,

Ik wil graag een getal uit de database weergeven in een e-mail. Hieronder mijn script:


$query  = "SELECT SUM( products_qty )AS Totaal FROM order_product WHERE`order_id` = '11' ";
$result = mysql_query($query);
while($row = mysql_fetch_array($result, MYSQL_ASSOC))

  $email_order = STORE_NAME . "\n" . 
                 EMAIL_SEPARATOR . "\n" . 
                 EMAIL_TEXT_ORDER_NUMBER . ' ' . $insert_id . "\n" .
		 EMAIL_TEXT_ORDER_COUNT . ' ' . $row. "\n" . // $row moet dus het getal uit de database laten zien.


$row op regel 8 moet dus het resultaat weergeven van de query.

Ik krijg het maar niet voor elkaar, de waarde die ik elke keer zie is : "Array".
Ik hoop dat iemand mij hiermee kan helpen

Bedankt alvast
MySQL - functies als SUM, COUNT, ... werken met GROUP BY

Probeer dit eens

SELECT SUM(products_qty) AS Totaal
FROM order_product
WHERE order_id = '11'
GROUP BY order_id

Bedankt voor je reactie, helaas werkt dit ook niet.
Als ik dit in een test php file zet, en het uitvoer, krijg ik wel een waarde te zien uit de database.

$query  = "SELECT SUM( products_qty )AS Totaal FROM order_product WHERE`order_id` = '11' ";
$result = mysql_query($query);

while($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
    echo "Totaal :{$row['Totaal']} <br>" .
} 


Kris Peeters op 21/09/2012 14:36:15

MySQL - functies als SUM, COUNT, ... werken met GROUP BY

Probeer dit eens

SELECT SUM(products_qty) AS Totaal
FROM order_product
WHERE order_id = '11'
GROUP BY order_id




Erick E op 21/09/2012 15:11:20

Bedankt voor je reactie, helaas werkt dit ook niet.
Als ik dit in een test php file zet, en het uitvoer, krijg ik wel een waarde te zien uit de database.....


Ben je niet de "GROUP BY order_id" vergeten te zetten in je query?
Nee, deze heb ik er echt ingezet. Alleen even als voorbeeld heb ik 'm zonder GROUP BY neergezet, om te laten zien dat het zo op die manier ook werkt
Maar wat werkt er nu niet dan?
Als ik het script zoals in mijn eerste post erin zet, krijg ik als resultaat "Array" te zien en geen waarde van de query.
Erick E op 21/09/2012 15:33:28

Als ik het script zoals in mijn eerste post erin zet, krijg ik als resultaat "Array" te zien en geen waarde van de query.


Lijkt me logisch omdat je $row gebruikt in plaats van $row["Totaal"]

<?php

$query = "SELECT SUM( products_qty )AS Totaal FROM order_product WHERE`order_id` = '11' ";
$result = mysql_query($query);
while($row = mysql_fetch_array($result, MYSQL_ASSOC)){
$email_order =
STORE_NAME . "\n" .
EMAIL_SEPARATOR . "\n" .
EMAIL_TEXT_ORDER_NUMBER . ' ' . $insert_id . "\n" .
EMAIL_TEXT_ORDER_COUNT . ' ' . $row["Totaal"]. "\n";
}
?>
Top mannen! Het werkt!

Bedankt voor jullie hulp! Dit was de oplossing: $row["Totaal"]
Ik geloof niet dat die while() zinvol is.
Er is waarschijnlijk maar één resultaat en mochten er meerdere zijn dan wordt $email_order steeds overschreven.
en nu dan nog even foutafhandeling toevoegen.
je hebt btw die hele while niet nodig. kost je teveel geheugen, als je zo doorgaat

Reageren