Page 1 sur 1

Problème de type de données SQL

Posté : 28 févr. 2007, 11:18
par toony.m
Bonjour,

J'ai 2 champs dans une table de type DECIMAL (5,2).
Champs1=-12.00
Champs2=3.00

Si je compare en php ces 2 champs :

if($champs2>=$champs1){ ... }

rien ne se passe, la valeur 3 n'est pas reconnue comme supérieur à -12.

Est-ce que c'est dû à un mauvais type SQL :?:

(au max, les valeurs doivent aller de -100.00 à 100.00)

Posté : 28 févr. 2007, 11:22
par Ryle
A vérifier, mais je pense que php va interpréter tes nombres comme des chaines... Essaye éventuellement avec la fonction floatval() pour voir si le problème ne vient pas de là :
if(floatval($champs2) >= floatval($champs1)){ ... }

Posté : 28 févr. 2007, 12:00
par toony.m
J'ai essayé mais ça ne marche pas mieux...

Le problème ne viendrait-il pas du type des données SQL ?
Qu'y a-t-il de mieux que DECIMAL ?

Posté : 28 févr. 2007, 12:11
par zeus
Avant de redéfinir les types de tes champs, je te conseillerais de regarder précisément ce que PHP récupère de ta base.

Je suis d'avis que c'est à ce moment là que tout se joue ;)

Posté : 28 févr. 2007, 15:15
par toony.m
J'ai mis en FLOAT et ça marche... :D

Posté : 28 févr. 2007, 16:17
par zeus
C'est l'histoire du mec qui à un tournevis et un clou et qui cherche obstinément à enfoncer son clou avec le tournevis alors que tout le monde lui conseille de prendre un marteau :roll: