Count avec php mysql

Fermé
butterfly235 Messages postés 19 Date d'inscription mercredi 24 juillet 2013 Statut Membre Dernière intervention 20 août 2013 - Modifié par butterfly235 le 10/08/2013 à 12:12
butterfly235 Messages postés 19 Date d'inscription mercredi 24 juillet 2013 Statut Membre Dernière intervention 20 août 2013 - 10 août 2013 à 15:02
boujour a tous,

j'ai un petit souci avec une requête SQL
j'ai une table Note de structure suivante
id_note--- date --valeur-- user
je veux avec ma requête afficher la somme totale d'un utilisateur
exp j'ai un user d'id_user 35 c'est le user connecté , avec les notes 5.12,1,3.12 normalement il m'affiche la somme 9.24 alors il m'affiche que 9.239999771118164

voila ma requête:
<?php
$count = $dbh->prepare('SELECT Sum(valeur) FROM note WHERE user="'. $_SESSION['id_user'].'" ');
$count->execute();

$res = $count->fetch();
echo"$res[0]";
?>

Merci pour votre aide

1 réponse

Utilisateur anonyme
10 août 2013 à 14:36
Bonjour

La plupart des nombres non entiers n'ont pas une représentation exacte en informatique (que ce soit au niveau de mysql ou de PHP).
Donc en général, un calcul fait avec des nombres non entiers n'a pas une précision absolue. Rien de choquant à ce que tu trouves 9.239999771118164 au lieu de 9.24.
En utilisant sprintf par exemple, tu peux demander un affichage avec 2 chiffres après la virgule, tu auras bien 9.24
0
butterfly235 Messages postés 19 Date d'inscription mercredi 24 juillet 2013 Statut Membre Dernière intervention 20 août 2013
10 août 2013 à 14:42
merci pour votre réponse ,mais j'ai essayé de l'appliquer comme suite:
echo"<pn>sprintf($res[0])</pn>";

il m'affiche sprint(9.239999771118164)
0
Utilisateur anonyme
10 août 2013 à 14:53
$x=sprintf("%.2f",$res[0]);
echo"<pn>$x</pn>"; 
0
butterfly235 Messages postés 19 Date d'inscription mercredi 24 juillet 2013 Statut Membre Dernière intervention 20 août 2013
10 août 2013 à 15:02
merci
0