Partage
  • Partager sur Facebook
  • Partager sur Twitter

Utilisation de plusieurs if

Sujet résolu
    4 mars 2021 à 15:11:23

    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.


    • Partager sur Facebook
    • Partager sur Twitter
      4 mars 2021 à 15:24:56

      Bonjour, quel est le problème ?
      • Partager sur Facebook
      • Partager sur Twitter
      Comar
        4 mars 2021 à 15:37:00

        Bonjour Comar91,

        Le problème est que mes conditions ne sont pas toutes traitées. Même quand j'essaie avec elseif je rentre pas dans chaque condition. J'ai l'impression que sa passe uniquement dans les 2 premières.

        • Partager sur Facebook
        • Partager sur Twitter
          4 mars 2021 à 15:40:54

          Quelles sont les valeurs de fonction et de societe ??
          • Partager sur Facebook
          • Partager sur Twitter
          Comar
            4 mars 2021 à 16:01:21

            Après plusieurs modifications du code j'ai réussi à trouver le problème. En faite il fallait que je retravaille mes conditions car toutes les conditions étaient les mêmes. Je poste quand même le résultat et sinon merci pour tes réponses rapides Comar91.

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



            • Partager sur Facebook
            • Partager sur Twitter
              4 mars 2021 à 16:18:08

              • il ne faut pas oublier que && a précédence sur le || : il manque sans doute des parenthèses autour des || (ie $societe == 30 && $fonction == 2) || $fonction == 17 || $fonction == 34 ce n'est pas la même chose que $societe == 30 && ($fonction == 2 || $fonction == 17 || $fonction == 34))
              • $fonction == 2 || $fonction == 17 || $fonction == 34 s'abrège in_array($fonction, [2, 17, 34])

              -
              Edité par julp 4 mars 2021 à 16:20:33

              • Partager sur Facebook
              • Partager sur Twitter

              Utilisation de plusieurs if

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown