Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 25/01/2010, 15h27   #1 (permalink)
Nouveau membre du Club
 
Date d'inscription: juin 2005
Messages: 64
Envoyer un message via MSN à christophe_s46
Par défaut Comment calculer la moyenne d'une variable récupére d'un champ mysql

Bonjour,
comment peut on calculer la moyenne d'une variable récupérer avec une boucle WHILE provenant d'un champ d'une base mysql sans utiliser AVG.

Ex:
Code :
 
.
.
$SQL = "SELECT * FROM table WHERE var ORDER BY date ASC";
$result = mysql_query($SQL) ;
.
.
.
$i=0;
   while($row = mysql_fetch_row($result)) 
      {
    if ($i==0)
    $i=$i+1;
 
 
Ce code fonctionne et affiche correctement le contenu de la variable $var ligne par ligne, comme ceci:

30
40
10

Je souhaite en plus ajouter la moyenne de la liste affichée ci-dessus
comme ceci:

30
40
10
moy: 26.66

Donc, je cherche une solution pour cas à chaque boucle while je récupère le contenu de la variable $var pour en calculer la moyenne lorsque la boucle while est terminée.
(Je ne veut pas utiliser la fonction AVG (mysql) car dans la variable $var n'est pas forcément un nombre, mais des fois un valeur à laquelle j'attribue une valeur et cette valeur va dans $var)
Si vous avez une idée sur une solution, merci à vous
christophe_s46 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 25/01/2010, 16h24   #2 (permalink)
Modérateur
 
Avatar de CinePhil
 
Nom : Philippe Leménager
Date d'inscription: août 2006
Localisation: Toulouse
Âge: 46
Messages: 4 778
Envoyer un message via MSN à CinePhil
Par défaut

Vraiment pas clair ton besoin !

Pour moi, l'incrémentation de $i ne se produira qu'une fois. Je ne vois donc pas comment tu obtiens les valeurs 30, 40, 10.
__________________
Philippe Leménager.
Futur ingénieur CNAM, ingénieur d'étude à l'École Nationale de Formation Agronomique.

« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ».
(Nicolas Boileau)
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 25/01/2010, 16h32   #3 (permalink)
Nouveau membre du Club
 
Date d'inscription: juin 2005
Messages: 64
Envoyer un message via MSN à christophe_s46
Par défaut

Il m'affiche autant de ligne qu'il trouve dans la base de données, mais ca, ca fonctionne, c'est de récupérer toutes ces lignes pour en faire la moyenne
christophe_s46 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 25/01/2010, 17h03   #4 (permalink)
Membre émérite
 
Avatar de riete
 
Date d'inscription: avril 2006
Localisation: Gap
Messages: 978
Par défaut

Il faut juste avoir une variable temporaire qui cumule tes valeurs et à la sortie du while diviser cette valeur par $i. Quelque chose comme ça.
Code :
$i=0;
$t = 0;
   while($row = mysql_fetch_row($result)) {
    $i++;
    $t += $row['var'];
   }
$moyenne = $t/$i;
riete est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 25/01/2010, 18h20   #5 (permalink)
Nouveau membre du Club
 
Date d'inscription: juin 2005
Messages: 64
Envoyer un message via MSN à christophe_s46
Par défaut

Merci, c'est impeccable !
christophe_s46 est déconnecté   Envoyer un message privé Réponse avec citation
NEWS PHPFAQ PHPCours PHPSources PHPLivres PHPScripts PHPOutils PHPComparatifsZend Framework

Réponse Proposer ce sujet en actualité

Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non



Fuseau horaire GMT +1. Il est actuellement 02h45.


Vos questions techniques : forum d'entraide PHP - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Hébergement - Participez - Copyright © 2000-2010 www.developpez.com - Legal informations.