[PHP] Moyenne d'une série de notes

Moyenne d'une série de notes [PHP] - PHP - Programmation

Marsh Posté le 14-07-2003 à 12:26:33    

Bonjour,
j'ai créé en PHP un système de commentaires, pour donner son avis sur des séries,  
exemple : http://www.webactua.net/serieslive [...] ultipass=3
 
Les gens donnent donc une note sur 5 (qui rentre dans le champ "note" de la base "sl_avis" ). J'aimerai donc savoir comment faire la moyenne de cette série de notes.
 
Merci de votre aide.
 
@+

Reply

Marsh Posté le 14-07-2003 à 12:26:33   

Reply

Marsh Posté le 14-07-2003 à 12:38:00    

Benh tu fais une moyenne mathématique: tu fais un select de toutes les notes, une boucle qui additionne les notes et tu divises le tout par le nombre de notes.

Reply

Marsh Posté le 14-07-2003 à 12:40:02    

Je suis newbee en PHP, mais à mon avis c'est une moyenne toute simple.
Tu additionne toute les valeurs qui ont été saisies dans le champ note.
Tu divises par le nombre d'enregistrements.
Je sais que pour faire cela il y a 2 fonctions bien précises mais mon expèrience ne me permet pas de les sortir par coeur.
 
Ca c'est pour le principe, aux autres forumeurs de voir pour la pratique.
 
@+

Reply

Marsh Posté le 14-07-2003 à 12:56:31    

justement, je ne connais pas le code en php pour faire la somme des notes, et pour ensuite diviser par le nombre de notes.
 
Pourriez vous me le donner svp. Merci.

Reply

Marsh Posté le 14-07-2003 à 13:01:59    

mysql_num_rows() va te servir pour récupérer le nombre de lignes dans ta table que t'aura récupérées avec ta requète.
ca va donner en gros:
 

Code :
  1. $req = "SELECT SUM(note) FROM commentaires WHERE ...";
  2. $rows = mysql_num_rows($req);
  3. $moyenne = $req/$rows;

 
enfin j'y connais pas grand chose, mais c'est l'idée quoi  :D


Message édité par Kt-Redfox le 14-07-2003 à 13:02:25
Reply

Marsh Posté le 14-07-2003 à 13:02:34    

crashb a écrit :

justement, je ne connais pas le code en php pour faire la somme des notes, et pour ensuite diviser par le nombre de notes.
 
Pourriez vous me le donner svp. Merci.

Euh, si t'as reussi à 'faire' un système de commentaire, tu devrais arriver à faire ça. Ponds-nous au moins un truc, on va pas te le faire entièrement à ta place...

Reply

Marsh Posté le 14-07-2003 à 13:27:55    

Dans la série "en fait, c'est pas moi qui ai codé le site mais j'aimerais bien rajouter un truc" [:ddr555]


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 14-07-2003 à 13:29:54    

Taiche a écrit :

Dans la série "en fait, c'est pas moi qui ai codé le site mais j'aimerais bien rajouter un truc" [:ddr555]

Je l'avais pas dit implicitement mais qu'est ce que je l'ai pensé fort :ouch: Y'a qu'à voir mon 'faire' :sarcastic:

Reply

Marsh Posté le 14-07-2003 à 13:48:18    

RiderCrazy a écrit :

Je l'avais pas dit implicitement mais qu'est ce que je l'ai pensé fort :ouch: Y'a qu'à voir mon 'faire' :sarcastic:


 
C'est pas le genre de réponse auquel je m'attendai. Le site est entièrement fait par moi, j'attendai une réponse d'aide et pas des commentaires à la con...
 
Merci à KT-RedFOX pour son aide, je vais essayer ça ;)

Reply

Marsh Posté le 14-07-2003 à 13:53:27    

mais je comprends pas comment tu as pu faire ton site de commentaires et que tu ne puisses pas faire une moyenne, ce qui est la base.
ca nous fait douter du bien-fondé de ton honneteté  :)


---------------
.: Clône de Drasche .:. Ebichuleys .:. Avec l'Aloe Vera je fais de beaux cacas [:dawa] .: www.oserselancer.com :.
Reply

Marsh Posté le 14-07-2003 à 13:53:27   

Reply

Marsh Posté le 14-07-2003 à 13:56:58    

Urd-sama a écrit :

mais je comprends pas comment tu as pu faire ton site de commentaires et que tu ne puisses pas faire une moyenne, ce qui est la base.
ca nous fait douter du bien-fondé de ton honneteté  :)

Je plussois fortement... Enfin, on va pas chercher à comprendre parce qu'il y aura toujours des types comme ça. Ou alors on a pas la même logique, ou alors pour coder ton site t'as utilisé un tuto, ou alors t'as pompé le code, ou alors t'es fainéant... au choix :o

Reply

Marsh Posté le 14-07-2003 à 14:05:31    

Urd-sama a écrit :

mais je comprends pas comment tu as pu faire ton site de commentaires et que tu ne puisses pas faire une moyenne, ce qui est la base.
ca nous fait douter du bien-fondé de ton honneteté  :)  


'tain, les moyennes j'faisais ça en 6ème, faut pas déconner... Si tu sais faire mysql_query(), va pas me dire que tu sais pas faire des additions et une division... :sarcastic:


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 14-07-2003 à 14:38:03    

Moi, je cherche juste à progresser en PHP. Je vous le dis franchement, c'est moi qui ai crée ce site et bien sûr que j'ai reçu de l'aide de personnes (on ne peut pas les inventer les codes... et ce même pour une moyenne, je ne savais pas comment le faire en PHP).
 
Je cherchai juste de l'aide sur un forum et je pensai que j'aurai à faire à des personnages sympathiques qui m'aideraient mais apparement j'ai frappé à la mauvaise porte...
 
Merci tout de même à ceux qui ont daigné m'aider un peu.

Reply

Marsh Posté le 14-07-2003 à 14:49:03    

crashb a écrit :

Moi, je cherche juste à progresser en PHP. Je vous le dis franchement, c'est moi qui ai crée ce site et bien sûr que j'ai reçu de l'aide de personnes (on ne peut pas les inventer les codes... et ce même pour une moyenne, je ne savais pas comment le faire en PHP).
 
Je cherchai juste de l'aide sur un forum et je pensai que j'aurai à faire à des personnages sympathiques qui m'aideraient mais apparement j'ai frappé à la mauvaise porte...
 
Merci tout de même à ceux qui ont daigné m'aider un peu.

"aider" != "faire" hein... perso, je t'ai passé la théorie (premier post)... après, si c'est un code tous frais sorti que tu veux [:spamafote]

Reply

Marsh Posté le 14-07-2003 à 15:03:46    

RiderCrazy a écrit :

"aider" != "faire" hein... perso, je t'ai passé la théorie (premier post)... après, si c'est un code tous frais sorti que tu veux [:spamafote]


 
Et je t'en ai remercier ( cf. "Merci tout de même à ceux qui ont daigné m'aider un peu" ).
Je saurai me débrouiller avec ça.
 
Mais, un petit conseil, soyez plus aimables avec les gens, tout ce qu'on demande, c'est un peu d'aide, rien de plus, alors arrêtez de jouer les pros et restez pas sur un forum comme ça si c'est juste pour envoyer ballader des gens qui ont besoin d'aide.

Reply

Marsh Posté le 14-07-2003 à 15:04:40    

crashb a écrit :


 
Et je t'en ai remercier ( cf. "Merci tout de même à ceux qui ont daigné m'aider un peu" ).
Je saurai me débrouiller avec ça.
 
Mais, un petit conseil, soyez plus aimables avec les gens, tout ce qu'on demande, c'est un peu d'aide, rien de plus, alors arrêtez de jouer les pros et restez pas sur un forum comme ça si c'est juste pour envoyer ballader des gens qui ont besoin d'aide.


 :jap: toutafai d'accord

Reply

Marsh Posté le 14-07-2003 à 15:55:23    

KT-RedFOX a écrit :

mysql_num_rows() va te servir pour récupérer le nombre de lignes dans ta table que t'aura récupérées avec ta requète.
ca va donner en gros:
 

Code :
  1. $req = "SELECT SUM(note) FROM commentaires WHERE ...";
  2. $rows = mysql_num_rows($req);
  3. $moyenne = $req/$rows;

 
enfin j'y connais pas grand chose, mais c'est l'idée quoi  :D

Autant faire faire la moyenne directement par le SGBD :)

Code :
  1. $req = "SELECT AVG(note) FROM commentaires WHERE ...";

Reply

Marsh Posté le 14-07-2003 à 16:07:01    

mrBebert a écrit :

Autant faire faire la moyenne directement par le SGBD :)

Code :
  1. $req = "SELECT AVG(note) FROM commentaires WHERE ...";




ben voila, j'ai encore apris un truc aujourd'hui  :D  :jap:

Reply

Marsh Posté le 14-07-2003 à 16:11:19    

Bien entendu, on peut aussi tout rassembler dans la requête :

Code :
  1. $req = "SELECT AVG(note) AS moyenne, SUM(note) as somme, COUNT(note) AS nombre FROM commentaires WHERE ...";


Commme ca, pas de jaloux :D


Message édité par mrbebert le 14-07-2003 à 16:11:37
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed