Page 1 sur 6
Notes Moyennes
Posté : 22 sept. 2005, 19:34
par mazflo007
Bonjour j'ai dans mon site plusieurs dizaines de jeux repertorier dans une table et il a un champ note ou j'aimerais que mes visiteurs notes et que ca fasse la moyenne des notes pour tous les jeux
Pouvez-maider svp
Posté : 22 sept. 2005, 19:41
par ouckileou
Il te faudrait stocker chaque note, et diviser donc par le nombre stocké
Tu pourrais faire une table externe
Code : Tout sélectionner
Jeux
----
id_jeu
nom_jeu
description
Notes
------
id_note
id_jeu
note
Avec ce système tu pourrais récupérer la moyenne d'un jeu comme ça :
Code : Tout sélectionner
SELECT nom_jeu, AVG(note) AS moyenne FROM notes n
INNER JOIN jeux j ON n.id_jeu = j.id_jeu
GROUP BY id_jeu
Mais si tu stockes déjà les notes, dis nous comment que l'on puisse t'aider
Posté : 23 sept. 2005, 19:15
par mazflo007
Est-il possible de mettre plusieurs note dans un champ et de calculer leur moyenne merci
Posté : 23 sept. 2005, 21:36
par rami
C'est possible mais pas du tout recommandé. La théorie relationnelle veut qu'à un champ ne corresponde qu'une information!
Posté : 23 sept. 2005, 22:18
par zeus
Il existe une bidouille plus simple qui évite de créer une seconde table :
dans ta table "jeu", tu ajoute un champ "total_note" et un champ "nb_note".
Dès que quelqu'un donne une note, tu l'ajoute à la valeur du champ "tital_note" et tu incrémente le champ "nb_note" de 1.
Lorsque que tu veux afficher la note, tu fait total_note/nb_note et tu as la moyenne
requetes pour ajouter une note
"UPDATE jeu SET total_note=total_note+".$nouvelle_note." WHERE id_jeu=".$id_jeu;
"UPDATE jeu SET nb_note=nb_note+1 WHERE id_jeu=".$id_jeu;
requete pour afficher la moyenne
"SELECT (total_note/nb_note) as moyenne FROM jeu WHERE id_jeu=".$id_jeu
Posté : 24 sept. 2005, 06:47
par mazflo007
Ah oui merci fallait y penser
Posté : 24 sept. 2005, 08:36
par mazflo007
Voila j'ai essaye ce code mais ca marche pas
<?php
mysql_connect("sql.free.fr", "mazflo007", "****");
mysql_select_db("mazflo007");
$requete = mysql_query(""SELECT (total_note/nb_note) as moyenne FROM jeux WHERE id_jeu="3") or die (mysql_error());
echo $requete;
php?>
Voici l'erreur
Parse error: parse error, unexpected T_STRING
Pk ne marche t'il pas merci
Posté : 24 sept. 2005, 09:22
par pjl
regarde dont tes guillemets.
Posté : 24 sept. 2005, 13:19
par mazflo007
Merci J'ai fait ça
<?php
mysql_connect("sql.free.fr", "mazflo007", "****");
mysql_select_db("mazflo007");
$requete = mysql_query(""SELECT (total_note/nb_note) as moyenne FROM jeux WHERE id_jeu=3 ") or die (mysql_error());
echo $requete;
php?>
Mais ca me marque
Resource id #2
Posté : 24 sept. 2005, 13:31
par mazflo007
pk
Posté : 24 sept. 2005, 13:32
par Truc
Salut, est tu sur que la requete fonctionne bien -> Les guillemets en bédut de requete !!
sinon une fois la requete executée par mysql_query faut lire les donnée avec par exemple:
while ($row=mysql_fetch_array($requete))
{
echo "la myenne est: ".$row['moyenne'];
}
Posté : 24 sept. 2005, 13:40
par mazflo007
Salut Voici ce que donne le code
<?php
mysql_connect("sql.free.fr", "mazflo007", "****");
mysql_select_db("mazflo007");
$requete = mysql_query("SELECT (total_note/nb_note) as moyenne FROM jeux WHERE id_jeu=3 ") or die (mysql_error());
while ($row=mysql_fetch_array($requete))
{
echo "la moyenne est: ".$row[moyenne];
php?>
Je lé essayer mais ca marque
Parse error: parse error, unexpected $ in /var/www/free.fr/b/d/mazflo007/essai.php on line 14
Posté : 24 sept. 2005, 13:55
par Truc
je vois pas trop la ligne 14 comme ça mais bon il y a 2 erreurs deja:
1. Oubli de mettre des ' ' dans l'affichage de la valeur $row[
'
2.une } en fin de while
<?
while ($row=mysql_fetch_array($requete))
{
echo "la moyenne est: ".$row['moyenne'];
}
php?>
Posté : 24 sept. 2005, 14:10
par mazflo007
ca affiche
la moyenne est :
Et c'est tout
Je ne comprends pas pk
Posté : 24 sept. 2005, 14:18
par Truc
As tu remplis ta base avec des notes ?