IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

IF et comparaison variables


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2012
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2012
    Messages : 90
    Points : 53
    Points
    53
    Par défaut IF et comparaison variables
    bonjour,
    ma demande concerne les conditions IF du script cidessous.
    Donc, Ma variable $ouvert contient les données de l'input position_données. :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ouvert=!empty($ligne['position_dossier']) ? $ligne['position_dossier'] : NULL;
    dans mon exemple je lui demande que si la variable $ouvert contient le mot ouvert, affiche le dossier ouvert et si $ouvert contient le mot suspendu, affiche dossier suspendu.
    Malheureusement, le script affiche que le if mais jamais elseif. Pour moi il ne comprends pas il ne fait de différence entre le mot ouvert et suspendu donc il ne peut pas faire de comparaison.
    Pouvez vous m'aider?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <?php 
    $ouvert=!empty($ligne['position_dossier']) ? $ligne['position_dossier'] : NULL;
    ...
     $requete = "SELECT * FROM   profil WHERE id='$_SESSION[id]'";
    $resultat = $db->query($requete);
    $nb_lig_resultat = $resultat->num_rows;
    $ligne = $resultat->fetch_assoc();
       if ($resultat)
       {
          echo'<input type="texte" name="position_dossier" value="'.$ligne['position_dossier'].'">';
       }
       if(!empty($ouvert) == "ouvert")
       {
           echo' Dossier ouvert';
       }
       elseif(!empty($ouvert) == "suspendu")
       {
            echo' Dossier suspendu';
       }

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 269
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 269
    Points : 8 568
    Points
    8 568
    Billets dans le blog
    17
    Par défaut
    empty() retourne true ou false, et aux lignes 13 et 17 tu compares le résultat de empty() à une chaîne
    => Cela ne fonctionnera jamais

  3. #3
    Membre éprouvé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Novembre 2012
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2012
    Messages : 381
    Points : 1 048
    Points
    1 048
    Par défaut
    Bonjour,

    empty() renvoie true ou false, pas une chaîne de caractères.

  4. #4
    Membre habitué Avatar de two3d
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2012
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2012
    Messages : 126
    Points : 168
    Points
    168
    Par défaut
    Fais un var_dump() de $ouvert une fois le formulaire envoyé, tu pourra voir ce qu'elle contient.

    EDIT : oui les amis, vous avez raison, j'avais même pas fais gaffe ^^

  5. #5
    Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2012
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2012
    Messages : 90
    Points : 53
    Points
    53
    Par défaut
    la correction est faite ça marche !! MERCI A VOUS et pour votre disponibilité - dessous le if corrigé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    ...
     
     if ($resultat)
       {
          echo'<input type="texte" name="position_dossier" value="'.$ligne['position_dossier'].'">';
       }
       if($ouvert == "ouvert")
       {
           echo' Dossier ouvert';
       }
       elseif($ouvert == "suspendu")
       {
            echo' Dossier suspendu';
       }
    ?>

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comparaison variable / valeur
    Par simon26 dans le forum Langage
    Réponses: 4
    Dernier message: 04/03/2011, 13h02
  2. comparaison variable int entre 2 chiffes
    Par lovedesitaliens dans le forum C#
    Réponses: 5
    Dernier message: 13/10/2010, 15h11
  3. [MVS] Comparaisons variables format date
    Par pierre24 dans le forum Administration et Installation
    Réponses: 11
    Dernier message: 07/05/2008, 16h02
  4. Comparaison variable contenant chaine
    Par cactus2078 dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 03/04/2007, 22h19
  5. Comparaison variables sur matching
    Par grand_dup dans le forum Langage
    Réponses: 1
    Dernier message: 01/03/2007, 15h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo