Page 1 sur 1

Condition dans une condition à condition que...

Posté : 18 févr. 2006, 19:25
par maxx
Bonjour à tous,
Voilà, mon titre explique bien l'embarras dans lequel je suis...
J'ai une condition qui doit impérativement être réalisée (C1).

Code : Tout sélectionner

<? if($conditon1=="machin") { } ?>

Jusque là, pas de problème.
Mais ensuite il me faudrait une deuxième condition (C2) ($condition2="truc") .... Mais qui est elle même est conditionnée : C2 ne doit être prise en compte que si $var!="all"; (C3).... Je ne m'en sors pas.
En gros, si $var!="all", on doit avoir un affichage plus restrictif, mais fondamentalement, on affiche les mêmes données... si $var=="all" on affichera tous les enregistrements, si $var!="all", on fait une sélection.

Comment faire pour formuler tout ça en PHP ? J'ai essayé un truc, je sais que c'est une hérésie, d'ailleurs, ça n'a pas marché, mais ça peut rendre clair ce que je voudrais.

Code : Tout sélectionner

<? if($conditon1=="machin" if($var!="all") { AND $condition2=="truc"}) { // AFFICHAGE DES RESULTATS} ?>


Merci pour votre aide[/code]

Posté : 18 févr. 2006, 19:35
par Ouaibou
Salut,

J'ai compris ton problème, mais pas les conditions.

Pour information, les conditions peuvent s'inbriquer ainsi :
<?php
    $toto = 1;
    $titi = 2;
    $tata = 3;

    if($titi > $toto)
    {
        //ton script

        if($tata > $titi)
        {
             //ton script
        }
        else // correspond a $tata <= $titi
        {
            //ton script
        }
    }
    else //correspond a $titi <= $toto
    {
        //ton script
    }
?>
C'est un exemple simple. A partir de la je penses que tu peux essayer de revoir ton exemple. Si tu as des problèmes n'hésite pas à reposter en précisant bien les conditions que tu veux réaliser.

@+

Posté : 18 févr. 2006, 19:39
par Truc
Salut,
essaie une base ressemblant a ceci:
<? 
if($conditon1=="machin") 
{ 
    // si condition1 égal à "MACHIN"

   if( $var!="all" && $condition2=="truc" )
   { 
       // si $var égal à "ALL" et condition2 égal à "TRUC"
   }
   elseif ($condition2=="truc")
   {
      // si condition2 vaut "TRUC"
   }
   else
      // si $var différent de "ALL" et condition2 différent de "TRUC"
}  
?>

Posté : 18 févr. 2006, 19:45
par maxx
Merci à vous deux, je connais ces structures, mais ce n'est pas vraiment ce que je cherche, étant donné que quelquesoit les conditions, la structure de ce qui va s'afficher reste la même... Ce qui varie seulement, c'est le nombre de données qui sont affichées, s'il y a une sélection ou s'il y en a pas ($var="all" ou $var!="valeur particulière") Ca m'obligerait donc à recopier deux fois le même code.

Posté : 18 févr. 2006, 19:56
par Truc
en te basant sur mon exemple tu peux adapter, en renseignant des variables suivant la condition:
if($conditon1=="machin")
{
    // si condition1 égal à "MACHIN"

   if( $var!="all" && $condition2=="truc" )
   {
       // si $var égal à "ALL" et condition2 égal à "TRUC"
       $affichage="maximum";
   }
   elseif ($condition2=="truc")
   {
      // si condition2 vaut "TRUC"
     $affichage="minimum";
   }
}  

// code d'affichage
echo "Affichage des données ". $affichage;
?>

Posté : 18 févr. 2006, 20:14
par maxx
Merci, en fait je me suis débrouillé avec un include.