Condition sur plusieurs variables [résolu]

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 : Condition sur plusieurs variables [résolu]

Re: Condition sur plusieurs variables

par Ryle » 06 avr. 2011, 22:23

Plutôt que d'ajouter des conditions inverses sur chaque test, il te suffit simplement d'organiser tes if() de la condition la plus stricte à celle qui l'est le moins :)
// d'abord les 4 critères
if ($rep0=="oui" AND $rep1=="oui" AND $rep2=="oui" AND $rep3=="oui") 
 ...
// puis les 3 critères
elseif ($rep0=="oui" AND $rep1=="oui" AND $rep2=="oui") 
 ...
elseif ($rep0=="oui" AND $rep1=="oui" AND $rep3=="oui") 
 ...
elseif ($rep0=="oui" AND $rep2=="oui" AND $rep3=="oui") 
...
elseif ($rep1=="oui" AND $rep2=="oui" AND $rep3=="oui") 
...
// puis les 2 critères
...
En effet, dès que l'un des if est vérifié, php l'exécute et ignore les suivants. En ordonnant ainsi tes conditions tu es sur qu'il ne rentre que dans la bonne condition :)

Ps : en php, plutôt que d'utiliser l'opérateur "AND", préfères l'opérateur "&&" ... ils sont légèrement différent (priorité) et à moins de savoir précisément pourquoi tu utilises le AND, il vaut mieux l'éviter car cela peut générer des erreurs difficile à identifier :)

Re: Condition sur plusieurs variables

par abx66 » 05 avr. 2011, 13:37

Bonjour,

Pourquoi ne pas prendre les choses autrement :
Bonjour,
Parce que j'ai besoin de vérifier jusqu'à 4 variables pour afficher de une à quatre de celles-ci, pas forcément dans l'ordre d'ailleurs.
Merci quand même de ton aide.

Re: Condition sur plusieurs variables

par Mazarini » 05 avr. 2011, 13:21

Bonjour,

Pourquoi ne pas prendre les choses autrement :
if ($rep0=="oui")  echo '<div class="cadre1"><img src="img/perso/artistes_a.png"></div>'; 
if ($rep1=="oui")  echo '<div class="cadre2"><img src="img/perso/artistes_b.png"></div>'; 
if ($rep2=="oui")  echo '<div class="cadre3"><img src="img/perso/artistes_c.png"></div>'; 
if ($rep3=="oui")  echo '<div class="cadre4"><img src="img/perso/artistes_d.png"></div>'; 

Re: Condition sur plusieurs variables

par abx66 » 05 avr. 2011, 11:49

Super, merci, je suis vraiment trop stupide de ne pas y avoir pensé !
Merci encore !

Re: Condition sur plusieurs variables

par dev3 » 05 avr. 2011, 10:36

Bonjour,

Tu peux ajouter une condition
if $a == bleu et $b != bleu
action 1
else if $a == bleu et $b == bleu
action 2

Condition sur plusieurs variables [résolu]

par abx66 » 05 avr. 2011, 10:30

Bonjour,
Je souhaite tester plusieurs variables en même temps avec une condition multiple :
Si $a = bleu
action 1
si $a = bleu et $b =bleu
action 2

J'ai essayé avec des elseif mais ça ne marche pas parce que si la 1ère condition est vérifiée, la vérification s'arrête. Voici la partie de mon code concernée :

// 1
if ($rep0=="oui")
{
echo '<div class="cadre1"><img src="img/perso/artistes_a.png"></div>';
}

// 1 & 2
elseif ($rep0=="oui" AND $rep1=="oui")
{
echo '<div class="cadre1"><img src="img/perso/artistes_a.png"></div>';
echo '<div class="cadre2"><img src="img/perso/artistes_b.png"></div>';
}

// 1 & 3
elseif ($rep0=="oui" AND $rep2=="oui")
{
echo '<div class="cadre1"><img src="img/perso/artistes_a.png"></div>';
echo '<div class="cadre3"><img src="img/perso/artistes_c.png"></div>';
}

// 1 & 4
elseif ($rep0=="oui" AND $rep3=="oui")
{
echo '<div class="cadre1"><img src="img/perso/artistes_a.png"></div>';
echo '<div class="cadre4"><img src="img/perso/artistes_d.png"></div>';
}

// 1 & 2 & 3
elseif ($rep0=="oui" AND $rep1=="oui" AND $rep2=="oui")
{
echo '<div class="cadre1"><img src="img/perso/artistes_a.png"></div>';
echo '<div class="cadre2"><img src="img/perso/artistes_b.png"></div>';
echo '<div class="cadre3"><img src="img/perso/artistes_c.png"></div>';
}

// 1 & 2 & 3 & 4
elseif ($rep0=="oui" AND $rep1=="oui" AND $rep2=="oui" AND $rep3=="oui")
{
echo '<div class="cadre1"><img src="img/perso/artistes_a.png"></div>';
echo '<div class="cadre2"><img src="img/perso/artistes_b.png"></div>';
echo '<div class="cadre3"><img src="img/perso/artistes_c.png"></div>';
echo '<div class="cadre4"><img src="img/perso/artistes_d.png"></div>';
}

// 2 & 3
elseif ($rep1=="oui" AND $rep2=="oui")
{
echo '<div class="cadre2"><img src="img/perso/artistes_b.png"></div>';
echo '<div class="cadre3"><img src="img/perso/artistes_c.png"></div>';
}

// 2 & 4
elseif ($rep1=="oui" AND $rep3=="oui")
{
echo '<div class="cadre2"><img src="img/perso/artistes_b.png"></div>';
echo '<div class="cadre4"><img src="img/perso/artistes_d.png"></div>';
}

// 2 & 3 & 4
elseif ($rep1=="oui" AND $rep2=="oui" AND $rep3=="oui")
{
echo '<div class="cadre2"><img src="img/perso/artistes_b.png"></div>';
echo '<div class="cadre3"><img src="img/perso/artistes_c.png"></div>';
echo '<div class="cadre4"><img src="img/perso/artistes_d.png"></div>';
}

// 3 & 4
elseif ($rep2=="oui" AND $rep3=="oui")
{
echo '<div class="cadre3"><img src="img/perso/artistes_c.png"></div>';
echo '<div class="cadre4"><img src="img/perso/artistes_d.png"></div>';
}

Où fais-je erreur ?
Un grand merci pour vos lumières ;-)