Calculer la moyenne d'un array

wario4
Invité n'ayant pas de compte PHPfrance

30 juil. 2007, 11:45

Salut à tous !

Voilà, j'ai un petit problème avec mon script : Je fais une enquête de satisfaction pour une entreprise. On m'a demandé plusieurs clés de tri, ainsi qu'une possibilité de sélectionner les clients que l'on désire et afficher seulement ceux-là.

Seulement voilà, les afficher n'est pas tout. Le but est de pouvoir faire des moyennes en fonctions des clés de tri. Par exemple, faire une moyenne en fonction de l'endroit ou est le client. Et en l'occurence ici, faire une moyenne des clients sélectionnés.

Jusqu'à présent, je faisais ma moyenne avec une requête SQL :
	$moy = mysql_query("SELECT ROUND(AVG(moyenne)) AS moymoy FROM enquete_acm WHERE date >= '$timestamp1' AND date <= '$timestamp2'") or die (mysql_error());
				$recup = mysql_fetch_array($moy);
				$moymoy = $recup['moymoy'];
echo $moymoy;
Cependant, ça ne marche pas avec la sélection des clients, car ;la requête qui va chercher les clients et dans la boucle (en effet, la seule condition qui unit ces clients est la sélection, la requête doit donc se trouver dans la boucle)
Et, évidemment, quand je met ma requête habituelle, on me calcule la moyenne de chacune des moyenne séparement, autant dire qu'on me réaffiche la moyenne de chaque client XD

Je cherche donc un moyen pour calculer cette moyenne.

Voilà la requête SQL :
foreach($select as $key => $value)
			{			
			$req = mysql_query("SELECT * FROM enquete_acm WHERE id = $key ORDER BY codeclient") or die (mysql_error()); 
			$donnees = mysql_fetch_array($req);
et voici la checkbox :

Code : Tout sélectionner

<input type="checkbox" name="select[<?php echo $id; ?>]" />
Voilà, merci :D

lux
Eléphant du PHP | 372 Messages

30 juil. 2007, 12:56

Salut.
Si c'est des chiffres dans ton array utilise array_sum(). Et puis tu divises le total par ce que tu veux, tu peux faire un array_count_values() aussi. A toi de voir comment adapter ces deux fonctions. (Pasque en fait j'ai pas tout suivi de ton exemple :P )

wario4
Invité n'ayant pas de compte PHPfrance

30 juil. 2007, 13:55

Ca ne marche pas :(

Mais je sais pourquoi : cet array est dans une boucle. Donc, quand je fais array_sum(), ça m'additionne les moyennes pour chaque ligne (ça me renvoi le double de la valeur pour chaque ligne), autant dire que ce n'est pas comme ça qu'il faut s'y prendre....

Mais si tu as d'autres idées, je veux bien essayer :D