Page 1 sur 1

probleme calcul en php

Posté : 18 mai 2005, 16:43
par Justone
bonjour alors voila mon code :
mysql_select_db("arnis01");  
	$str_requete = "SELECT mois, SUM(total) as nombre FROM sla WHERE annee=".$annee." GROUP BY mois HAVING mois LIKE '01'";
    $o_result = mysql_query($str_requete); 
	$a_result = mysql_fetch_array($o_result, MYSQL_ASSOC);  
  	$average1 = 100-(("".$a_result["nombre"]*100)/"$min"); 
	echo "$average1";
Le résultat de $average1 n'est pas bon.
Lorsque je fais echo "".$a_result["nombre"] j'obtiens 147.
Si je remplace dans $average1 "".$a_result["nombre"] par 147, la j'obtiens le bon résultat.

C'est étrange!

Merci pour l'aide...

Posté : 18 mai 2005, 16:54
par zeus
Si tu cherches à faire des calculs, il ne faut pas que tu fasses intervenir les chaines de caractères.

Si tu les mets dans le cas où la variable est nulle, il vaut mieux faire un test avant.

Sinon remplace ta ligne par celle là :
$average1 = 100-(($a_result["nombre"]*100)/$min);

Posté : 18 mai 2005, 17:12
par Justone
Sinon, je voulais savoir :

est ce possible d'afficher le resultat de mes calculs arrondi a deux chiffres après la virgule?

si oui comment?

merci...

Posté : 18 mai 2005, 17:21
par Cyrano
Avec la fonction round()

Posté : 19 mai 2005, 10:52
par Justone
Voila la calcul que je veux faire :
echo "<td>($average1 + $average2 + $average3)/3</td>";
Ca m'affiche (100+100+100)/3

Si je veux que ca m'affiche le résultat, suis je obligé de faire un truc du genre :
$calcul=$average1 + $average2 + $average3)/3;
echo "<td>$calcul</td>";
Est -il possible de faire ca en une ligne?

Posté : 19 mai 2005, 10:55
par zeus
Oui, comme ça :
echo "<td>".(($average1 + $average2 + $average3)/3)."</td>";
Mais c'est moins clair et plus cible aux erreurs !!!