2010-06-09 6 views
4

Je suis nouveau sur php et mysql et j'essaie d'utiliser une fonction avg mais je ne sais pas comment.Comment utiliser la fonction avg?

Je suis en train de faire quelque chose comme ceci:

mysql_connect(localhost,$username,$password); 

@mysql_select_db($database) or die ("Did not connect to $database"); 

mysql_query("AVG(column1) FROM table1 ") or die(mysql_error()); 

mysql_close(); 

echo AVG(column1); 

(Q1) Je voudrais voir la valeur imprimée sur l'écran, mais je reçois rien, mais un message d'erreur. Comment pourrais-je imprimer cette moyenne sur l'écran? (Q2) Si j'avais un mois de colonne dans ma table1, comment pourrais-je imprimer les moyennes par mois?

Désolé pour tout mauvais anglais, et merci pour l'attention.

Répondre

3

Solution Q1:SELECT AVG(column1) FROM table1

Solution Q2:SELECT AVG(column1), month FROM table1 GROUP BY month

1

Que lire?

  1. MySQL SELECT syntax
  2. MySQL AVG() function - il y a même un exemple de exactement ce dont vous avez besoin
  3. PHP mysql_fetch_assoc() function qui est l'une de plusieurs façons de récupérer les données du jeu de résultats
  4. BTW: PDO est beaucoup mieux pour la communication de base de données en PHP

Ad. 1:

$sql = 'SELECT AVG(col_name_1) AS avgColName FROM tbl_name;'; 
$query = mysql_query($sql); 
$result = mysql_fetch_assoc($query); 

var_dump($result['avgColName']); 

Ad. 2:

+0

Je reçois comme ça 'string (6) "3,5000"', 3,5 est le moyen correct, puis-je imprimer sans la chaîne (6) et le wihtout " "? Merci beaucoup. – Marcelo

+0

Bien sûr ... jetez juste un coup d'oeil sur ce que fait ['var_dump()'] (http://pl.php.net/manual/fr/function.var-dump.php). Utilisez ['echo'] (http://pl.php.net/manual/fr/function.echo.php) à la place. – Crozin

0

Vous devez renvoyer le résultat de la requête dans une variable que vous pouvez ensuite utiliser.

Par exemple:

$query = "AVG(column1) FROM table1";  
$result = mysql_query($query); 

// Print out result 
while($row = mysql_fetch_array($result)) { 
echo $row['AVG(column1)']; 
} 
Questions connexes