créer une note moyenne

Eléphant du PHP | 193 Messages

11 oct. 2006, 16:34

Bien, as-tu fait un écho de ta variable $query_notemoyenne pour voir si la requete générée est la bonne?

Et as-tu essayé cette requête sous MySQL, directement?
Modifié en dernier par Vikchill le 11 oct. 2006, 16:36, modifié 1 fois.

Mammouth du PHP | 592 Messages

11 oct. 2006, 16:34

ta requete est un truc comme ça alors ???

Code : Tout sélectionner

SELECT lieu, AVG(note) FROM photo WHERE lieu = 'Atlantic City' GROUP BY lieu ;

lorenzo75
Invité n'ayant pas de compte PHPfrance

11 oct. 2006, 16:43

je viens d'essayer sur mysql et c'est les mêmes résultats..

Ma requete est bien ça, mais il y a d'autres villes dans la table.

lorenzo75
Invité n'ayant pas de compte PHPfrance

11 oct. 2006, 16:47

Le champ 'note' à l'intérieur de ma table est de type "set".
Est-il possible que ça pose problème?

Mammouth du PHP | 592 Messages

11 oct. 2006, 16:47

et comme ça??
mysql_select_db($database_photos, $photos); 
$query_notemoyenne = "SELECT lieu, AVG(note) FROM photo WHERE lieu = '%s' GROUP BY lieu ;"; 
$notemoyenne = mysql_query($query_notemoyenne, $photos) or die(mysql_error()); 
	while($print = mysql_fetch_row($result))
	{
	echo "$print[0]";
	echo "$print[1]<br>";
	}

Mammouth du PHP | 19672 Messages

11 oct. 2006, 17:08

Le champ 'note' à l'intérieur de ma table est de type "set".
Est-il possible que ça pose problème?
Ha ben ça c'est certain :shock: On peut bien chercher... AVG() ne fonctionne qu'avec des champs de type numérique, donc là il y a un problème. Solution, faire un CAST ou encore modifier le type de champ.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

lorenzo75
Invité n'ayant pas de compte PHPfrance

11 oct. 2006, 17:09

OK, le problème vient de mon type de champs 'set'. Je viens de le changer en 'INT' et les notes inscrites dans la base se sont transformées en 32 ou 16 ... :cry:

lorenzo75
Invité n'ayant pas de compte PHPfrance

11 oct. 2006, 17:10

:oops: :oops: :oops: :oops: :oops:
SORRY

Mammouth du PHP | 19672 Messages

11 oct. 2006, 17:29

Pour des notes qui doivent être en 0 et 10, un type TINYINT aurait plus que très largement suffi, c'est pas utile de mettre un format aussi grand.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: