Page 1 sur 1
Additioner les valeurs d'un champ d'un table
Posté : 07 nov. 2006, 20:22
par nikitou
Bonjour
J'ai des prix entrés dans ma table mysql et j'aimerais faire une requete pour que sa additionne tous les champs en gros pour faire un total comment faire ? que dois-je utiliser ?
Pour présision dans ma table les valeur sont du genre 20€ , 125.15€ etc...
Merci d'avance à tous

Posté : 07 nov. 2006, 20:33
par RilaX
J'ai eu le meme besoin, et il se trouve qu'en fait c'est tout con :
Et voila !

Posté : 07 nov. 2006, 20:35
par nikitou
oui c'est ce que j'ai fait mais comment enlevé les € car sinon le calcul ne peux pas se faire
Merci d'avance

Posté : 07 nov. 2006, 20:37
par Hubert Roksor
SUM() ne doit être utilisé que sur des valeurs numériques, il faut donc que ton champs soit de type INT (TINYINT, SMALLINT, etc...) ou FLOAT (puisque je vois que tu utilises des décimaux). Charge reste à ton application d'afficher le symbole monétaire.
Posté : 07 nov. 2006, 20:43
par nikitou
J'ai fait ça :
$affiche = mysql_query("SELECT SUM(compteur) FROM test");
echo "somme totale : $affiche";
Mais rien ne s'affcihe enfin j'ai marqué : Resource id #3
Dans ma table j'ai :
20
20
20
ça devrait donc m'afficher 60
J'ai fait une erreur ?
et j'ai mis en Float
Champ Type Interclassement .... etc
id int(11) Non auto_increment
compteur float Non 0
Posté : 07 nov. 2006, 20:54
par RilaX
il te faut un mysql_fetch_array :
Code : Tout sélectionner
$reponse = mysql_query("SELECT SUM(compteur) FROM test");
while ($affiche=mysql_fetch_array($reponse)){
echo "somme totale : ".$affiche;
}
Et désolé, javais pas vu les € dans ton champs ... mais je te déconseille de les mettre, vu que tu peux toujours les rajouter quand tu affiche les resultat de tes sommes.
Posté : 07 nov. 2006, 20:59
par nikitou
Bien joué merci
Juste une tit précision c'était
echo "Montant total : $affiche[0]";
sinon ça affiche array
Merci a vous deux

8)
Bonne soirée
Ah oui aufait ça prend en compte les € donc pas besoin de les virés ça fontionne nickel
Posté : 07 nov. 2006, 22:58
par iclo
Mais pourquoi stoker des prix sous forme de chaine de caractères ? ça risque de poser pas mal de problème, sans compter la probabilité que cela prenne plus de place...
Posté : 07 nov. 2006, 23:38
par albat
la probabilité que cela prenne plus de place...
Soit X, l'évènement "prend plus de place".
Quand p(X)=1, on peut parler d'évènement certain.
Je ne vois aucune explication capable de justifier dans cet exemple précis
l'utilisation d'un champ de type chaîne pour stocker des données exclusivement numériques...
