Page 1 sur 1

IF vrai mais faux ....

Posté : 16 janv. 2006, 23:12
par keaton
Bonjour,

voilà, j'ai un petit soucis sur ce bloc . Ma condition est vérifiée, c'est à dire que si je met echo "$pa";, j'ai bien une valeur superieure à 150 mais j'ai toujours le message : "vous n'avez pas les moyens ..."

Et je ne vois pas où est l'erreur ...

Merci d'avance de votre aide :)

Voilà la partie incriminée :

Code : Tout sélectionner

if ($neuf == "Objectif grand angle (28mm)") { if ($pa < 150) { $message = "Vous n'avez pas les moyens de vous offrir un tel produit"; } else { $pa = round($pa - 150); mysql_query ("UPDATE..."); $message = "- Objectif Grand Angle (28mm) : - 150 PA"; } }

Posté : 16 janv. 2006, 23:30
par Truc
SAlut, je vois pas d'erreur sur ce bout de code, est ce que tu boucles sur ce test ?

il y a peut être confusion de variable ou alors un probleme qui vient d'ailleur dans le script.

place des echo de test dans les 2 condition pour verifier dans laquelle le script passe.

Posté : 17 janv. 2006, 10:29
par keaton
Avec echo :

Code : Tout sélectionner

echo "1 - $pa<br> $neuf<br><br>"; if ($neuf == "Objectif grand angle (28mm)") { if ($pa < 150) { echo "2 - $pa<br> $neuf<br><br>"; $message = "Vous n'avez pas les moyens de vous offrir un tel produit"; } else { echo "3 - $pa<br> $neuf<br><br>"; $pa = round($pa - 150); mysql_query ("UPDATE ...") $neuf5 = "- Objectif Grand Angle (28mm) : - 150 PA"; } }
Le résultat est :
1 - 9 086
Objectif grand angle (28mm)

2 - 9 086
Objectif grand angle (28mm)

Posté : 17 janv. 2006, 10:32
par keaton
J'ai trouvé, c'est la mise en forme de la variable $pa qui ne passe pas :

Code : Tout sélectionner

$pa = number_format($pa, 0, ',', ' ');
C'est embêtant parce que c'est plus facile à lire, existe-t-il un moyen de garder cette mise en forme ?

Posté : 17 janv. 2006, 20:05
par Truc
C'est embêtant parce que c'est plus facile à lire, existe-t-il un moyen de garder cette mise en forme ?
Faire le formatage apres le test if() :wink:

ou faire appel a cette fonction que pour l'affichage pas pour des tests.