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 :

Créer une liste déroulante en PHP avec valeur par défaut


Sujet :

Langage PHP

  1. #1
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut Créer une liste déroulante en PHP avec valeur par défaut
    Bonjour tout le monde,

    J'aimerais créer une liste déroulante en PHP qui contiendrait le nom de mes tables.

    J'ai déjà ce code qui fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    while ($row = mysql_fetch_row($result)) 
    		{
       			echo "<option> {$row[0]}"</option>";
    		}

    J'aimerais sélectionner une valeur de la liste déroulante lors du chargement de la page.

    Si ma variable de session $_SESSION['LaTable'] est vide, j'aimerais que l'option sélectionnée par défaut soit la première valeur de la liste déroulante et si la variable de session n'est pas vide, j'aimerais alors sélectionner la valeur que porte la variable de session.

    J'ai ce code qui ne fonctionne pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    $list = '';
    while($row = mysql_fetch_row($result)){
     $list .= '<option value="'.$row[0].'">'.$row[0].'</option>';
    }
    if(!empty($_SESSION['LaTable']))
     $list = str_replace('value="'.$_SESSION['LaTable'].'"', 'value="'.$_SESSION['LaTable'].'" selected="selected"', $list);
    Sauriez-vous me dire comment je pourrais faire cela ?

    Merci d'avance.

    beegees

  2. #2
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Voila un petit exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    echo '<select>';
    while($row = mysql_fetch_assoc($result)){
        echo '<option value="'.$row[0].'"';
        if(isset($_SESSION['LaTable']) && $row[0] == $_SESSION['LaTable']){
            echo ' selected="selected"';
        }
        echo '>'.$row[0].'</option>';
    }
    echo '</select>';
    Lorsque tu écris le <option/> tu dois juste vérifier si sa valeur est égale à la valeur contenue dans ta variable de session.

  3. #3
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Salut Thomas,

    Merci pour ton code.

    Etrangement, j'obtiens deux zones de liste déroulante vides.

    Qu'en penses-tu ?

    Encore merci à toi.

    beegees

  4. #4
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Je pense que tu as deux enregistrements dans ta base de données ayant une valeur vide.

  5. #5
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Citation Envoyé par ThomasR Voir le message
    Je pense que tu as deux enregistrements dans ta base de données ayant une valeur vide.
    Merci pour ta réponse.

    Je n'ai aucune valeur vide dans ma table.

    Dans ton code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    if(isset($_SESSION['LaTable']) && $row[0] == $_SESSION['LaTable'])
     
    {
            echo ' selected="selected"';
    }
     
    echo '>'.$row[0].'</option>';
    Si la condition du if est respectée, on passe dedans et ensuite dans le echo plus bas et si elle n'est pas respectée, on passe dans le echo plus, donc quoi qu'il arrive, on passe toujours dans le second echo ?

    Merci encore pour l'aide.

    beegees

Discussions similaires

  1. Réponses: 8
    Dernier message: 16/06/2014, 12h14
  2. Réponses: 10
    Dernier message: 26/04/2010, 09h53
  3. [XL-2007] créer une liste déroulante avec autoremplissage
    Par pascal38 dans le forum Excel
    Réponses: 9
    Dernier message: 30/03/2010, 18h52
  4. Réponses: 1
    Dernier message: 08/09/2009, 14h40
  5. liste déroulante, requête SQL et valeur par défaut
    Par flukie dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 02/06/2006, 11h59

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