Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1323 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [SQL et PHP] - Moyenne

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[SQL et PHP] - Moyenne

n°136847
SquiiiD
be cool !
Posté le 09-05-2002 à 22:10:10  profilanswer
 

Bonjour à tous,
 
Je vous expose mon problème.
 
J'ai une table avec plus de 1000 personnes enregistrées.
Chaque personne a du entrer son age.
Je veux afficher la moyenne d'âge du groupe de personne pour ce faire j'ai procédé comme ceci:
 
$r="SELECT age FROM usernames";
$res=mysql_query($r);
while($resultat=mysql_fetch_array($res))
     {
     $age=$age+$resultat["age"];
     $i++;
     }
$moyenne_age=round($age/$i,1);
echo "- Moy. d'âge : <b>".$moyenne_age."</b>a.<br><br>";

 
En ayant testé mon script je pensais d'abord qu'il marchait mais en ayant testé plusieurs fois de suite je me suis rendu compte que la moyenne d'âge change  :lol: parfois on voit 19.5 parfois 22.3 etc...  
 
Je pense que c'est dût au fait que ça fait beaucoup trop de petites requêtes pour le serveur. Et ca crée des erreurs.
Bref, meme si ce script marchait ça bouffe énormément de ressources pour rien je crois donc c pas top !
 
Y a t'il moyen avec un requete SQL de:
- à la fois séléctionner tout les age,  
- ensuite de diviser le cumul des ages avec le nombre de resultat obtenu.
 
en UNE requete ???
 
Merci de m'eclairer la dessus, car les grosses requêtes de ce genre je connais pas trop.
 
Merci d'avance !
 
SquiD

 

[jfdsdjhfuetppo]--Message édité par SquiiiD le 09-05-2002 à 22:13:04--[/jfdsdjhfuetppo]

mood
Publicité
Posté le 09-05-2002 à 22:10:10  profilanswer
 

n°136852
zekill
Posté le 09-05-2002 à 22:21:50  profilanswer
 

pk t'utilise pas mysql_num_rows pour recuperer le nombre d'enregistrements ?

n°136854
SquiiiD
be cool !
Posté le 09-05-2002 à 22:23:48  profilanswer
 

Tout simplement parceque je savais meme pas que  ca existait !
je fais juste :
 
$nb_enregistrment = mysql_num_row($res); ?

n°136855
antp
Super Administrateur
Champion des excuses bidons
Posté le 09-05-2002 à 22:24:36  profilanswer
 

"select avg(age) from usernames"
ça fonctionne ça, non ?

 

[jfdsdjhfuetppo]--Message édité par antp le 09-05-2002 à 22:25:57--[/jfdsdjhfuetppo]


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°136856
SquiiiD
be cool !
Posté le 09-05-2002 à 22:24:56  profilanswer
 

mais de toute facon y a pasque ca,
il faut additionner tout les enregistrements ! En une requete ! Comment faire?
Merci

n°136858
SquiiiD
be cool !
Posté le 09-05-2002 à 22:25:37  profilanswer
 

moy(age) ?
Je vais tester ca tout de suite ! Merci !

n°136859
zekill
Posté le 09-05-2002 à 22:26:19  profilanswer
 

SquiiiD a écrit a écrit :

Tout simplement parceque je savais meme pas que  ca existait !
je fais juste :
 
$nb_enregistrment = mysql_num_row($res); ?  




 
oui , impecc ;)

n°136860
antp
Super Administrateur
Champion des excuses bidons
Posté le 09-05-2002 à 22:26:25  profilanswer
 

J'ai édité, c'est avg, pas moy...
J'ai pas assez dormi moi :D


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°136861
SquiiiD
be cool !
Posté le 09-05-2002 à 22:29:57  profilanswer
 

Encore un truc :
 
Je fais SELECT AVG(age) AS moy_age FROM hub_usernames ?
 
ou
 
SELECT AVG(age) FROM hub_usernames ?
 
et  ensuite pour recuperer le resultat je fais quoi?

 

[jfdsdjhfuetppo]--Message édité par SquiiiD le 09-05-2002 à 22:30:19--[/jfdsdjhfuetppo]

n°136864
antp
Super Administrateur
Champion des excuses bidons
Posté le 09-05-2002 à 22:32:24  profilanswer
 

avec le premier la moyenne sera dans $resultat["moy_age"];
avec le second je sais pas :/


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
mood
Publicité
Posté le 09-05-2002 à 22:32:24  profilanswer
 

n°136865
SquiiiD
be cool !
Posté le 09-05-2002 à 22:33:52  profilanswer
 

Oui ok je voulais savoir la quelle de mes requetes etait bonne :)
Bon je test merci

n°136866
antp
Super Administrateur
Champion des excuses bidons
Posté le 09-05-2002 à 22:35:36  profilanswer
 

Pour le AS je ne garanti rien... je crois que ça passe en Access, mais pour MySQL je sais pas...
SELECT AVG(age) 'moy_age' FROM hub_usernames
peut-être... (rhaaa mes cours de SQL sont lointains :D)

 

[jfdsdjhfuetppo]--Message édité par antp le 09-05-2002 à 22:35:47--[/jfdsdjhfuetppo]


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°136867
SquiiiD
be cool !
Posté le 09-05-2002 à 22:37:26  profilanswer
 

Bon ben voila ca marche nickel ton machin merci beaucoup !!! :)

n°136868
SquiiiD
be cool !
Posté le 09-05-2002 à 22:38:14  profilanswer
 

Sisi ca marche je viens de tester  :bounce:  
tkx :)

n°136873
SquiiiD
be cool !
Posté le 09-05-2002 à 22:42:24  profilanswer
 

Tiens j'ai télécharger ant renamer .
c toi qui l'a programmé? J'ai longtemps chercher un truc du genre !!! Ca va m'être tres utile !
ciao

n°136874
antp
Super Administrateur
Champion des excuses bidons
Posté le 09-05-2002 à 22:44:01  profilanswer
 

Ouaip c'est moi qui ait fait ça.
Y a un bout de temps d'ailleurs.
Domage que je n'ai pas beaucoup de temps à consacrer à la version 2 :( (le projet n'avance pas vite)


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°136878
SquiiiD
be cool !
Posté le 09-05-2002 à 22:55:08  profilanswer
 

Ok c cool.
 
Aller bonne soiree et merci encore ! ciao


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [SQL et PHP] - Moyenne

 

Sujets relatifs
[PHP] mkdir et permissions chez free [resolu][PHP] comprend pas cette ligne
[ASP-PHP] équivalence de code[Asp] - SQL - LIMIT
[PHP] Numéro de semaine HELPPPPBesoin d'aide en PHP [Newbie]
[ DreamweaverMX ] Mauvaise gestion du PHP??SQL + VB : Question simple...
[PHP] fonction copy[PHP/MySQL] Pb de création de table ...
Plus de sujets relatifs à : [SQL et PHP] - Moyenne


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR