Page 1 sur 1

additionner des champs

Posté : 22 mars 2006, 16:20
par marvllt
slt a tous

voila j'aimerais savoir comment faire pour additionner les champs d'une de mes tables

j'ai essayé avec un while mais j'y arrive pas


Merci d'avance

Posté : 22 mars 2006, 16:36
par Ryle
un while ? dans une table ? drole d'idée :)
côté php à la limite après avoir récupéré tes données, mais côté base...

Si tu veux le faire dans ta base, tu peux, si ce sont les valeurs d'une même colonne, utiliser la methode SUM(), si ce sont les chamsp de colonnes différentes, un simple plus doit fonctionner :)

Code : Tout sélectionner

"SELECT SUM(champ1) as total FROM ..." "SELECT champ1 + champ2 as total FROM ..."
sinon en php, tu stoques les valeurs dans une variable dans ton while...
$var = 0;
while($row = mysql_fetch_array(...)) {
  $var+= $row['champ1']; (+ $row['champ2'] ... )
}

Posté : 22 mars 2006, 16:42
par marvllt
en fait c'est les champs d'une meme colonne j'ai pas trèsbien compris ton truc là

c'est bon j'ai compris j'avais mal lu merci bcp

++

Posté : 22 mars 2006, 17:02
par Ryle
Pour les champs d'une même colonne tu peux utiliser la fonction SUM() directement dans ta requête SQL.

Supposons que ta table MA_TABLE contienne les valeurs suivantes :

Code : Tout sélectionner

Ligne Valeur ----- ------ 1 2 2 6 3 5
Tu peux calculer la somme de ta colonne valeur en faisant simplement
$sql = "SELECT SUM(Valeur) AS total FROM ma_table"; // calcule la somme des nombre contenus dans la colonne Valeur, et donne le nom ou alias "total" (AS total) au résultat de cette somme

$resultSet = mysql_query($sql); // execute la requête
$row = mysql_fetch_array($resultSet); // récupère le résultat dans $row
echo $row['total']; // affiche le résultat : 13

Posté : 22 mars 2006, 17:06
par marvllt
merci j'ai fait le truc en php je prefere ^^

Posté : 22 mars 2006, 17:23
par ouckileou
merci j'ai fait le truc en php je prefere ^^
L'utilisation du code SQL pour ce genre de choses est pourtant préférable, un select sum() est en général bien plus rapide qu'un while en PHP ;)

Quand tu as des calculs, particulièrement sur un nombre de données élevé, préférer le calcul dans le SGBD