Moyenne

A

Anonyme

Invité
Bonjour

Je n'arrive pas à rapatrier la moyenne de valeurs se trouvant sur une colonne d'une table se trouvant sur ma BdB.
Faut-il faire une boucle et rapatrier les valeurs une à une puis faire le calcul....

Merci

Albert
 
As-tu cherché et réfléchi avant de poser ta question ?

http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html


Halbert a dit:
Faut-il faire une boucle et rapatrier les valeurs une à une puis faire le calcul....

Si le SGBD peut faire une opération à notre place, c'est mieux. Du moins dans le contexte qui est le tiens j'imagine. (dans le cas d'une application 3-tiers distribuée, on peut discuter)
 
molgow a dit:
As-tu cherché et réfléchi avant de poser ta question ?

http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html




Si le SGBD peut faire une opération à notre place, c'est mieux. Du moins dans le contexte qui est le tiens j'imagine. (dans le cas d'une application 3-tiers distribuée, on peut discuter)

Bien sûr que j'ai réfléchi ! J'ai essayé ça :

SELECT Avg(N1) AS MoyN1 From Table WHERE .... :

Albert
 
Alors explique nous ce que tu as essayé et dis nous ce qui ne marchait, ce que tu as essayé (précisément) de faire et qui ne fonctionnait pas...

Il existe des moyens plus productifs de poser une question que de dire "je n'ai pas réussi à faire ça, comment on le fait?"... :rolleyes:
 
molgow a dit:
Alors explique nous ce que tu as essayé et dis nous ce qui ne marchait, ce que tu as essayé (précisément) de faire et qui ne fonctionnait pas...

Il existe des moyens plus productifs de poser une question que de dire "je n'ai pas réussi à faire ça, comment on le fait?"... :rolleyes:

Alors voilà : SELECT Avg(N1) AS MoyN1 From Table WHERE "condition"
echo "$MoyN1";


Et ca ne me renvoir rien du tout

Albert
 
tu as écrit exactement "condition" comme ça ?
remplace simplement par "SELECT Avg(N1) AS MoyN1 From Table" si tu veux la moyenne de toutes les entrées de la colonne N1 ou alors ajoute une vraie condition...
j'imagine aussi qu'il y a bien du code entre ton select et ton $MoyN1, car un select ne crée pas une nouvelle variable PHP...
 
molgow a dit:
tu as écrit exactement "condition" comme ça ?
remplace simplement par "SELECT Avg(N1) AS MoyN1 From Table" si tu veux la moyenne de toutes les entrées de la colonne N1 ou alors ajoute une vraie condition...
j'imagine aussi qu'il y a bien du code entre ton select et ton $MoyN1, car un select ne crée pas une nouvelle variable PHP...

bien sûr "condition " voulait dire que j'avais écrit : WHERE qqchose...

Je crois que mon erreur est de mal définir ma variable php MoyN1 !

Albert
 
molgow a dit:
tu as écrit exactement "condition" comme ça ?
remplace simplement par "SELECT Avg(N1) AS MoyN1 From Table" si tu veux la moyenne de toutes les entrées de la colonne N1 ou alors ajoute une vraie condition...
j'imagine aussi qu'il y a bien du code entre ton select et ton $MoyN1, car un select ne crée pas une nouvelle variable PHP...


Est ce que ceci a un sens ?

$query ="SELECT Avg(N1) AS MoyN1 From Table";
$MoyN1 = mysql_query($query);
echo $MoyN1 ;

Albert
 
molgow a dit:
Non.
documentation mysql_query
Lis la doc surtout sur la partie "valeur de retour"...
Ceci marche pour ceux que ça interesse :

$requete = "SELECT * FROM Table " ;

$connexion = @mysql_connect("$host","$base","$passe");

$resultat = mysql_query ($requete, $connexion);

$reponse=mysql_query ("SELECT Avg(N1) AS MoyN1 From Table");

if ($resultat)

while ($MoyN1 = mysql_fetch_array($reponse) )

{

echo $MoyN1['MoyN1'];
}

y a-t-il mieux ?

Albert
 
Halbert a dit:
Ceci marche pour ceux que ça interesse :

$requete = "SELECT * FROM Table " ;

$connexion = @mysql_connect("$host","$base","$passe");

$resultat = mysql_query ($requete, $connexion);

$reponse=mysql_query ("SELECT Avg(N1) AS MoyN1 From Table");

if ($resultat)

while ($MoyN1 = mysql_fetch_array($reponse) )

{

echo $MoyN1['MoyN1'];
}

y a-t-il mieux ?

Albert


Personne pour valider ?
Merci
Albert
 
La meilleur manière de valider ta requête c'est de l'exécuter sur ta BD via ton SGBD si elle fonctionne bien ensuite tu la transpose dans en code php dans tes pages.

De cette façon tu peux 1 savoir si le résultat est bon via le SGBD pour débugger ensuite tes variable si elles sont mal défini et ainsi de suite...


Il me semble que je t'avais déjà conseillé de faire un fichier include de connexion... tu fais de la redondance dans tes codes c'est plus dure ensuite de vérifier ou était le problème


Tout ce qui est redondant tu peux l'insérer dans ton fichier include ensuite c'est plus rapide de monter tes pages.


Marc-André
 
Marc-André a dit:
La meilleur manière de valider ta requête c'est de l'exécuter sur ta BD via ton SGBD si elle fonctionne bien ensuite tu la transpose dans en code php dans tes pages.

De cette façon tu peux 1 savoir si le résultat est bon via le SGBD pour débugger ensuite tes variable si elles sont mal défini et ainsi de suite...


Il me semble que je t'avais déjà conseillé de faire un fichier include de connexion... tu fais de la redondance dans tes codes c'est plus dure ensuite de vérifier ou était le problème


Tout ce qui est redondant tu peux l'insérer dans ton fichier include ensuite c'est plus rapide de monter tes pages.


Marc-André

Ok merci. J'ai fait des fichiers "include" mais je n'ai pas eu le courage de tout changer. C'est ce qui se passe quand on se lance sans rien y connaître.
Je ferai un grand ménage cet été.
Merci
Albert