Problème insertion de décimale

Eléphant du PHP | 331 Messages

27 nov. 2006, 16:50

Bonjour,

J'ai une table qui contient un champs prix.

Je l'avais mit à type INT, sa marchait pas alors en cherchant sur le forum j'ai vu que mon champs doit être de type DECIMAL ou de type FLOAT

Avec décimal la valeur de mon champs ne veut pas être mise à jour par ma requête sql:

Code : Tout sélectionner

$query2="update clients_produits set prix='".$_POST["prix_".$row_pro["id"].""]."' where id=".$_POST["id_produit_".$row_pro["id"].""]."";
Avec cette même requête mais utilisant le type FLOAT il arrondi mon nombre, plutôt que d'enregistrer 25.99 il enregistre 26

Pouvez-vous m'aider svp?

Merci

Mammouth du PHP | 19672 Messages

27 nov. 2006, 16:54

Fais donc un "DESCRIBE `ta-table`" et colle nous la structure ici, il doit y avoir un os dans le fromage.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 331 Messages

27 nov. 2006, 17:08

Avec type FLOAT:

Field Type Null Key Default Extra
id int(255) PRI NULL auto_increment
id_client int(255) 0
id_produit int(255) 0
prix float(252,0) 0

Mammouth du PHP | 19672 Messages

27 nov. 2006, 17:14

ben oui, regarde : tu as mis 0 en décimal :

As-tu des prix qui comportent 252 chiffres ? :shock:

à mon avis, tu peux corriger en mettant FLOAT(10,2), ça te laisse la possibilité d'afficher des prix de 99 999 999,99 : si tu vends des paquebots de très grand luxe, mets-le à FLOAT(12,2) pour te laisser une marge de sécurité :mrgreen:
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 331 Messages

27 nov. 2006, 17:22

Tu as le sens de l'humour comme je peux voir.

Merci pour ton aide ça fonctionne maintenant.

Selon toi suis-je mieux d'utiliser FLOAT ou DECIMAL pour gérer des prix, multiplication et addition?

Mammouth du PHP | 19672 Messages

27 nov. 2006, 17:34

ça revient au même, pour ma part, j'utilise le type DOUBLE ou FLOAT. Tu auras plus de détails sur ces types dans la documentation
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: