Bonjour,
J'ai un soucis en PHP.
voila, je développe mon site de e-commerce. Tous les matins ma page PHP vérifie les données du fournisseur dans un CSV et les compare avec mes tarifs dans la base pour eventuellement les mettre à jour.
Du CSV j'extrais 12.70 et de ma base MYSQL un decimal(20,6) de 11.180000 .
La ou ça se corse c'est c'est quand je fait if ($prixa < $prixb) , ça devient le festival du n'importe quoi.
J'ai lu qu'il était déconseillé de comparer des decimaux. J'ai trouvé un bout de code sur le web:
mais avec le prix qui vient de ma BDD la convertion donne 0. Il semble qu'il y ait une subtilité entre les float et les decimaux. J'ai tenté de convertir le décimal qui vient de ma BDD mais sans succés. J'y comprend plus rien, aprés 3 heures perdues, si une âme charitable peut m'aider. Merci d'avance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 $prixb = "$rowa[wholesale_price]"; //$prixb = number_format($prixb,2); $prixl = "$ligne[7]"; $e = pow(10, 10); $prixb = intval($prib * $e); $prixl = intval($prixl * $e); //echo "$prix:$prixb <br>"; if('$prixb' < '$prixl') {$a = $a+10 ;$g++;} //teste si le prix est en baisse if( '$prixb' > '$prixl' ) {$a = $a+20 ;$h++;}
Partager