Utilisation de plusieurs if

Résolu
Dz -  
 Dz -
Bonjour,

Après plusieurs essais je n'arrive pas à passer dans les différentes conditions que je demande. Je n'arrive pas à trouver mon erreur j'ai surement dû oublier quelques chose.

  $fonction = $result[0]['fonction'];
  $societe = $result[0]['societe'];

  var_dump ($fonction);
  var_dump ($societe);  

  if ($societe == 30 && $fonction == 2 || $fonction == 17 || $fonction == 34)
  {
    $fonction = $result[0]['fonction'];
    $societe = $result[0]['societe'];
  }
  if ($societe == 30 && $fonction != 2 || $fonction != 17 || $fonction != 34)  
  {
    $fonction = 0;
  }
  if ($societe != 30 && $fonction == 2 || $fonction == 17 || $fonction == 34) 
  {
    $societe = 0;
  }
  if ($societe != 30 && $fonction != 2 || $fonction != 17 || $fonction != 34)
  {
    $fonction = 0;
    $societe = 0; 
  }

  var_dump ($fonction);
  var_dump ($societe);


J'espère que quelqu'un pourra m'aider.

5 réponses

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,

Pour certaines de tes conditions ce n'est pas un OR qu'il faut utiliser .. mais un AND.

Ou sinon.. il faut réécrire ton code un peu différemment..
Par exemple
  if($societe == 30 ){   
    if($fonction == 2 || $fonction == 17 || $fonction == 34 ){
      $fonction = $result[0]['fonction'];
      $societe = $result[0]['societe'];
    }else{
      $fonction = 0;
    }
  }else{
    if($fonction == 2 || $fonction == 17 || $fonction == 34){
      $societe = 0;
    }else{
      $fonction = 0;
      $societe = 0; 
    }
  }

1
bonobo
 
Oula c'est un casse tête ton code! Moi qui ne suis pas expert php, pourquoi ne pas utiliser un Case ou un Else if?
0
choubaka Messages postés 39442 Date d'inscription   Statut Modérateur Dernière intervention   2 105
 
Bonjour
je confirme ... je vois pas ce que fait ton truc ...
De plus, toutes tes conditions sont les mêmes ...
0
Dz
 
J'ai déjà essayé avec un elseif justement mais le problème est le même. J'ai l'impression que ça ne traite pas toutes mes conditions.

var_dump ($fonction);
  var_dump ($societe);  

  if ($societe == 30 && $fonction == 2 || $fonction == 17 || $fonction == 34)
  {
    $fonction = $result[0]['fonction'];
    $societe = $result[0]['societe'];
  }
  elseif ($societe == 30 && $fonction != 2 || $fonction != 17 || $fonction != 34)  
  {
    $fonction = 0;
  }
  elseif ($societe != 30 && $fonction == 2 || $fonction == 17 || $fonction == 34) 
  {
    $societe = 0;
  }
  elseif ($societe != 30 && $fonction != 2 || $fonction != 17 || $fonction != 34)
  {
    $fonction = 0;
    $societe = 0; 
  }

  var_dump ($fonction);
  var_dump ($societe);
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Dz
 
Merci pour vos aides, il est vrai que ma structure sur les conditions n'était pas la bonne.

Merci beaucoup Jordane45 c'est exactement le résultat que je cherchais à obtenir et j'en étais assez loin... j'aurai dû rester dans la simplicité.
0