if ... elseif ... else

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : if ... elseif ... else

par Invité » 17 oct. 2007, 10:14

Merci pour vos explications.

Django

par Truc » 16 oct. 2007, 17:37

Puisque ta question est résolue, j'ajoute le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.

Tu peux réaliser cette opération toi-même
en cliquant sur le bouton Image qui s'affiche en haut à gauche de ce sujet
si tu as posté le 1er message en tant que membre (inscrit et identifié).

Alors... inscris-toi !!! ;)
je pense, qu'en invité, tu ne peux plus modifier ton message.
En effet mais il n'y a pas besoin d'éditer un message juste cliquer sur le bouton :wink:

par Tracker » 16 oct. 2007, 17:08

Oui merci à vous deux.

C'était bien ce : "AND ($CIQ<$qtt3)" qui ne fonctionnait pas.

Je l'ai testé sur plusieurs produits et tout est rentré dans l'ordre... Merci


Par contre je ne vois toujours pas pourquoi ... !?

Django

Comment fait-on pour mettre "Résolu" ?
Si $qtt3 n'est pas définie, tu passes à la seconde clause dans laquelle tu testes si $qtt2 est définie:
$CIQ<$qtt3, la comparaison texte ou numérique (''==0) abouti toujours à false.

donc ton $prix est toujours égal à $prix1, si $qtt3 n'est pas définie.

Tracker.

[edit]
je pense, qu'en invité, tu ne peux plus modifier ton message.

par Invité » 16 oct. 2007, 16:58

Oui merci à vous deux.

C'était bien ce : "AND ($CIQ<$qtt3)" qui ne fonctionnait pas.

Je l'ai testé sur plusieurs produits et tout est rentré dans l'ordre... Merci


Par contre je ne vois toujours pas pourquoi ... !?

Django

Comment fait-on pour mettre "Résolu" ?

par Invité » 16 oct. 2007, 16:53

Tracker merci de ta réponse.

Il semblerai que ce soit cela... Je vais faire plusieurs tests

mais je ne vois pas pourquoi ?

par Invité » 16 oct. 2007, 16:51

Merci d0m de ta réoponse.

Mes variables sont récupérées dans la table.
en gros :
$prix1 = $enr['10'];
$prix2 = $enr['12'];
$prix3 = $enr['14'];
$qtt2 = $enr['11'];
$qtt3 = $enr['13'];
Etait-ce bien la ta question !?

Re: if ... elseif ... else

par Tracker » 16 oct. 2007, 16:47

Salut,

A ta place dans la seconde condition je supprimerai AND ($CIQ<$qtt3).
// $CIQ = quantité commandée
if (!empty($qtt3) AND ($CIQ>=$qtt3))
  { $prix=$prix3; }	
elseif (!empty($qtt2) AND ($CIQ>=$qtt2)) 
  { $prix=$prix2; }
else 
  {$prix=$prix1; }
// $prix = prix final à afficher et à gérer.
[edit]
Comme le fait remarquer d0m, fais attention à l'initialisation de tes variables.

Tracker.

par d0m » 16 oct. 2007, 16:46

tout dépend de comment tu initialises tes variables :
$prix1
$prix2
$prix3
$qtt2
$qtt3

if ... elseif ... else

par Invité » 16 oct. 2007, 16:34

Bonjour a vous tous,
Désolé pour le titre du post... mais je ne savais pas quoi marquer par rapport à mon problème.

Voilà j'ai une table "produits" dans laquelle il peut y avoir 3 prix différents suivant une quantité commandée.

Par exemple : Le produit "XXX001",
Lorsque l'on en commande 1 produit XXX001 : il coute 0.75€ à l'unité. (soit 0.75 X 1)
Mais à partir de 100 produits commandés ce même produit vaut : 0.60€ à l'unité. (soit 0.60 X 100)
Et si on en commande 200 (ou plus) il vaut : 0.50€ à l'unité. (soit 0.50 X 200 ou plus)

Certains peuvent avoir 3 prix différents, d'autres 2 et encore d'autres un seul prix.

Alors j'ai fait ce petit script :
// $CIQ = quantité commandée
if (($qtt3!='') AND ($CIQ>=$qtt3)){$prix=$prix3;}	
elseif (($qtt2!='') AND ($CIQ>=$qtt2) AND ($CIQ<$qtt3)){$prix=$prix2;}	
else {$prix=$prix1;}
// $prix = prix final à afficher et à gérer.
Lorsqu'il y a 3 prix différents dans la table ... ce script fonctionne très bien... mais si il y en a que 2... il ne fonctionne plus !?

Ou est le prblème ?
Je l'ai trituré dans tous les sens... sans résultat.
Merci de votre aide.

Django.