Condition dans une condition à condition que...

maxx
Invité n'ayant pas de compte PHPfrance

18 févr. 2006, 19:25

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]

Eléphant du PHP | 281 Messages

18 févr. 2006, 19:35

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.

@+

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

18 févr. 2006, 19:39

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"
}  
?>

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

maxx
Invité n'ayant pas de compte PHPfrance

18 févr. 2006, 19:45

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.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

18 févr. 2006, 19:56

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;
?>

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

maxx
Invité n'ayant pas de compte PHPfrance

18 févr. 2006, 20:14

Merci, en fait je me suis débrouillé avec un include.