Page 1 sur 1

Calcul d'une moyenne

Posté : 01 mars 2006, 14:44
par lecobra_201
Bonjour !

Voilà je voudrais récupérer totues les notes situer dansun champ d"une base de données et dans faire la moyenne.
Seriez-vous comment peut-on faire cela ?

Voici je que je fais mais cela ne fonctionne pas !
$sql = 'SELECT note FROM livre_or WHERE note != "-"'; /*on selectionne les notes sans prendre en compte le tuple dont la personne na pas entré de note*/
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$nb = mysql_num_rows($req); /*permet d'avoir le nombre total de note pour le calcul de la moyenne*/

	while ($data = mysql_fetch_array($req)) { /*boucle pour additionner une à une les notes et le calcul de la moyenne*/
	if($nb !=0 ) {	
		$note = $data['note']; /* récupération des notes une à une*/
		//$addition = ($addition + $note); /*addition de chaque note*/	
		$moyen = ($note/$nb); /*calcul de la moyenne*/
	}
	else{
	$moyen = 0;
	}	
	}

Merci d'avance

Posté : 01 mars 2006, 14:59
par fab
Il faut être un peu plus explicite que cela ne fonctionne pas, qu'est-ce qui ne fonctionne pas exactement? que te retourne le résultat ? tu es sur qu'il y a des enregistrements correspondant dans la bd?

Posté : 01 mars 2006, 15:02
par Invité
La requête sql n'est à priori pas bonne.. les chaines sont à placer entre apostrophe et non pas entre guillemets (quote simple ' , pas double ")

Pour la moyenne, la fonction average (AVG) te permet de la calculer directement dans ta requête :)
$sql = "SELECT AVG(note) FROM livre_or WHERE note != '-' ";