Chiffre avec virgule dans Bdd + calculs

Résolu
laubro Messages postés 186 Date d'inscription jeudi 23 décembre 2004 Statut Membre Dernière intervention 9 juillet 2013 - 31 mai 2005 à 19:19
laubro Messages postés 186 Date d'inscription jeudi 23 décembre 2004 Statut Membre Dernière intervention 9 juillet 2013 - 31 mai 2005 à 22:42
Bonjour,

Voilà j'ai des champs de ma base devant contenir des chiffres représentant des prix, donc il y a besoin de pouvoir mettre des chiffre avec virgule, hors dans mysql j'y arrive, avec decimal, je comprend pas comme paremetre le champs pour y mettre des chiffres à virgule, est ce bien ce format ?

si je le mettait dans un champs text ou blob, ça irrait pour afficher les prix, sauf que j'ai besoin ensuite d'utiliser ces chiffres pour des calculs........

ensuite, y t'il une astuce pour additionner des chiffres situé dans des champs suite à une requette type :

$select = "SELECT * FROM calendrier where date>='$d' AND date2<'$d2' AND dispo1>'0'";


$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );


$total = mysql_num_rows($result);




echo "Nombre de dispo : $total
"
jusque l'a tout va bien, sauf que dans ma requette imaginons qu'il y ai 5 réponses, chaque réponse à 1 champs "prix", comment faire additionner les champs prix (c'est pour de la vente de nuitée d'hotel, donc la réponse est $total pour la qtte, mais le prix peut varier si c'est des jours de semaine ou week end, donc un simple $prix*$total n'est pas suffisant) il faudrait que je puisse fait
champs prix 1 + champs prix 2 +......selon la réponse de la requette

j'espere être claire ! ! !

Laubro

12 réponses

laubro Messages postés 186 Date d'inscription jeudi 23 décembre 2004 Statut Membre Dernière intervention 9 juillet 2013
31 mai 2005 à 22:42
ok trouvé :
echo round($resultat, 2); pour limite à 2 chiffres
Laubro
3
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
31 mai 2005 à 19:27
Salut,



pour le champ DECIMAL convient, VARCHAR ou blob ça ne convient pas.



Pour la somme utilise SUM() si c'est pour un champ, pour plusieurs champs teste



"SELECT champ1+champ2" je pense que ça fonctionnera



plus de détails ici :



0
laubro Messages postés 186 Date d'inscription jeudi 23 décembre 2004 Statut Membre Dernière intervention 9 juillet 2013
31 mai 2005 à 20:55
Merci,

j'ai essayé ça :

<?php
include("conf.php");
$link = mysql_connect ($serveur,$user,$passord) or die ('Erreur : '.mysql_error() );
mysql_select_db($base) or die ('Erreur :'.mysql_error());


$moyenne = mysql_query("SELECT SUM prix1 FROM calendrier WHERE date>='2005-06-01' AND date2<='2005-06-02'");


echo "$moyenne
";


?>
car c'est la somme des chiffre du champ qu'il me faut
mais j'ai rien qui s'affiche

Et pour DECIMAL, il met met d'office en parametre mon chiffre nb valeur +,0
ex : 10,0
mais quand je rentre un chiffre avec virgule, il ne prends pas, il ne retien que le chiffre avant la virgule ?
Laubro
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
31 mai 2005 à 21:00
non c'est SELECT SUM(prix1)



ensuite pour le DECIMAL tu inserts comment tes valeurs à virgule ?



le séparateur est une virgule ou un point ? (que tu utilises pour insérer dans la base)






<li>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
laubro Messages postés 186 Date d'inscription jeudi 23 décembre 2004 Statut Membre Dernière intervention 9 juillet 2013
31 mai 2005 à 21:11
une virgule
Laubro
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
31 mai 2005 à 21:12
Essaie avec un point






<li>
0
laubro Messages postés 186 Date d'inscription jeudi 23 décembre 2004 Statut Membre Dernière intervention 9 juillet 2013
31 mai 2005 à 21:13
ça m'affiche ça Resource id #2 avec
$moyenne = mysql_query("SELECT SUM(prix1) FROM calendrier WHERE date>='2005-06-01' AND date2<='2005-06-02'");
Laubro
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
31 mai 2005 à 21:19
Faut pas faire de echo ensuite... Faut passer par fetch_row...



Consulte les sites tel que phpdebutant pour voir comment récupérer des données issues d'une requête select






<li>
0
laubro Messages postés 186 Date d'inscription jeudi 23 décembre 2004 Statut Membre Dernière intervention 9 juillet 2013
31 mai 2005 à 21:33
Ok pour le SUM, j'avais un peu oublié, effectivement c'est mieux avec fetch_row...
par contre mes decimals, ni point ni virgule, ni avec 1 ou 2 chiffres apres la virgule/point
Laubro
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
31 mai 2005 à 21:54
regarde si ton champ décimal dans MySQL est de taille > 1






<li>
0
laubro Messages postés 186 Date d'inscription jeudi 23 décembre 2004 Statut Membre Dernière intervention 9 juillet 2013
31 mai 2005 à 21:59
prix1 decimal(5,0) NOT NULL default '0',

Laubro
0
laubro Messages postés 186 Date d'inscription jeudi 23 décembre 2004 Statut Membre Dernière intervention 9 juillet 2013
31 mai 2005 à 22:27
ok, compris, il faut 5,2 pour 5 chiffres avant et 2 chiffres apres la virgule ! ! !
merci

mais encore une question
quand on fait un calcul, une division entre autre, comment peut on limité le resultat à 2 chiffres après la virgule ?
Laubro
0
Rejoignez-nous