Calcul de plusieurs moyennes en php / sql
forumeur
-
Dj Nam Messages postés 327 Date d'inscription Statut Membre Dernière intervention -
Dj Nam Messages postés 327 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai plusieurs commentaires appartenant à différentes news et chaque commentaire donne une note. Je cherche à calculer la note moyenne de chaque news. Là où j'en suis, je n'obtiens que la moyenne totale.
Ce que je souhaiterais ensuite, c'est que le résultat s'affiche sur des pages différentes, exemple : Note moyenne de la news 1 sur la page "../comments/moyenne.php?id=1, Note moyenne de la news 2 sur la page "../comments/moyenne.php?id=2
J'ai cherché sur le net, mais je n'ai pas trouvé d'exemples de ce cas de figure.
Voilà où j'en suis :
J'ai plusieurs commentaires appartenant à différentes news et chaque commentaire donne une note. Je cherche à calculer la note moyenne de chaque news. Là où j'en suis, je n'obtiens que la moyenne totale.
Ce que je souhaiterais ensuite, c'est que le résultat s'affiche sur des pages différentes, exemple : Note moyenne de la news 1 sur la page "../comments/moyenne.php?id=1, Note moyenne de la news 2 sur la page "../comments/moyenne.php?id=2
J'ai cherché sur le net, mais je n'ai pas trouvé d'exemples de ce cas de figure.
Voilà où j'en suis :
<? $sql3=mysql_query("SELECT COUNT(*) AS nb_note FROM comments WHERE note <> 0") or die("Problème de notation !!!");; $donnees3=mysql_fetch_array($sql3); $nb_noter = $donnees3['nb_note']; $temp=0; $query7="SELECT note FROM comments WHERE note <> 0"; $result7=mysql_query($query7) or die("Query7 failed"); while($val=mysql_fetch_array($result7)) { $note = $val["note"]; $temp += $note; } if ($nb_noter != 0) { $moyenne = round($temp / $nb_noter,2); } else { $moyenne = 0; } if ($nb_pages == 0) { $nb_pages =1; } ?> <? echo ''.$nb_msg.' Note moyenne du site : '.$moyenne.'/5'; ?>
A voir également:
- Calcul de plusieurs moyennes en php / sql
- Calcul moyenne excel - Guide
- Calcul km marche à pied gratuit - Télécharger - Sport
- Easy php - Télécharger - Divers Web & Internet
- Calcul charpente bois gratuit - Télécharger - Architecture & Déco
- Logiciel gratuit calcul valeur nutritionnelle - Télécharger - Santé & Bien-être
3 réponses
Bonjour,
Je n'ai regardé que la première ligne de ton code pour le moment et déjà, attention, il y a deux ; à la fin.
Pour faire une moyenne en SQL il existe la fonction AVG()
En supposant que id_news correspond au champs contenant l'ID de l'actualité concernée.
Ce resultat devrait te retourner directement un resultat par actu avec directement la moyenne. Il ne te reste donc qu'à boucler là-dessus comme ceci :
A toi de jouer !
Je n'ai regardé que la première ligne de ton code pour le moment et déjà, attention, il y a deux ; à la fin.
Pour faire une moyenne en SQL il existe la fonction AVG()
$sql3=mysql_query("SELECT id_actu, AVG(*) AS moyenne FROM comments WHERE note != 0 GROU BY id_news") or die("Problème de notation !!!");
En supposant que id_news correspond au champs contenant l'ID de l'actualité concernée.
Ce resultat devrait te retourner directement un resultat par actu avec directement la moyenne. Il ne te reste donc qu'à boucler là-dessus comme ceci :
while ($actu = mysql_fetch_assoc($sql3)) { echo "Actualté ".$actu['id_actu']." : La moyenne est de ".$actu['moyenne']."<br />"; }
A toi de jouer !