[RESOLU] Moyenne note

Eléphant du PHP | 283 Messages

16 oct. 2014, 12:18

Bonjour à tous,

Je suis actuellement dans une impasse concernant le calcul d'une moyenne de note.

J'ai réussi pour le moment à faire la somme total des notes à prendre en considération mais je ne sais pas comment diviser par le nombre de note totale.

Voici mon code :
$Moyenne = $bdd->query("SELECT sum(note) AS 'moy',  COUNT(note) AS 'total' FROM note WHERE id_news=".$_GET['id']) or die(mysql_error());
while($getNote = $Moyenne->fetch())
{	
<span style="font-style:italic;">'.getNote['moy'].'</span>
}
Merci à ceux qui pourront m'aider. ;)

Mammouth du PHP | 571 Messages

16 oct. 2014, 12:55

la fonction avg de mysql te permet de calculter directement la moyenne:
$Moyenne = $bdd->query("SELECT AVG(note) AS moy,  COUNT(note) AS total FROM note WHERE id_news=".$_GET['id']) ;

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

16 oct. 2014, 12:57

Bonjour,

Il existe la fonction AVG() en MySQL qui permet directement de calculer la moyenne et qui devrait directement te donner la réponse à ta question.
http://www.tutorialspoint.com/mysql/mys ... nction.htm
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphant du PHP | 283 Messages

16 oct. 2014, 13:11

Parfait merci, je ne connaissais pas cette fonction. :p

Eléphant du PHP | 283 Messages

16 oct. 2014, 14:41

Par contre, est-il possible d'arrondir la moyenne au dixième car ça me met plein de décimal ? :p

Mammouth du PHP | 571 Messages

16 oct. 2014, 14:59

tu as le choix entre la fonction round() de php et round() de mysql

Eléphant du PHP | 283 Messages

16 oct. 2014, 15:23

Ok, j'ai opté pour le round directement dans la requête, merci de ton aide. ;)