additionner des champs

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : additionner des champs

par ouckileou » 22 mars 2006, 17:23

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

par marvllt » 22 mars 2006, 17:06

merci j'ai fait le truc en php je prefere ^^

par Ryle » 22 mars 2006, 17:02

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

par marvllt » 22 mars 2006, 16:42

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

++

par Ryle » 22 mars 2006, 16:36

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'] ... )
}

additionner des champs

par marvllt » 22 mars 2006, 16:20

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