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 :

garder l'affichage dans un select [Fait]


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2005
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 45
    Points : 16
    Points
    16
    Par défaut garder l'affichage dans un select
    Bonjour

    Dans un fichier index,l'utilisateur fait un choix dans une liste déroulante; défini ainsi et stoké dans une variable de séssion:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
     
    echo"&nbsp;&nbsp;Marché :<SELECT name=\"marche\" size=1>\n";
    echo" <option value=\"ligne_par_zone\">Tout Marché </option> ";
    echo"<optionvalue=\"ligne_par_zone_Professionnel\">MarchéProfessionnel</option>";
      echo"  <option value=\"ligne_par_zone_Résidentiel\">MarchéResidentiel</option>";
    echo" <option value=\"ligne_par_zone_Marché\">Marché Entreprise</option>";
    echo"</select>\n";
    ?>
    Après le clik sur chercher ça execute un fichier.php puis le résultat apparait sous la liste déroulante mais la liste déroulante se remet en position initial sans conserver le choix de l'utilisateur . Comment laisser le choix de l'utilisateur ?

    Merci

  2. #2
    Membre régulier
    Avatar de elitemedia
    Profil pro
    Inscrit en
    Août 2006
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 115
    Points : 120
    Points
    120
    Par défaut
    Je te donne une piste mais ne répond pas à ta question car il faut bien que tu cherche un peu

    C'est du HTML. Dans ton option, tu dois spécifier le champ selectionné :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <option value="valeur" selected="selected">Valeur</option>
    Si tu ne trouves pas avec ca je te donnerai la solution.
    Votre nom de domaine dès 1,47€ ?
    www.avenuedot.com

  3. #3
    Membre régulier Avatar de BGDC
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 102
    Points : 121
    Points
    121
    Par défaut
    Encore une petite piste sur ce tuto assez bien fait.

    Bon Courage.
    BGDC
    Bon allez, cette fois c'est sur, ça marche........bon aller je réessaye......

  4. #4
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778

  5. #5
    Membre à l'essai
    Inscrit en
    Juin 2005
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 45
    Points : 16
    Points
    16
    Par défaut
    Merci pour vos réponses ; mais il y a une erreur de ; ou , :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     echo" <option value=\"ligne_par_zone\"  if($Marche == \"Tout Marché\") { echo"selected=\"selected\""; }>Tout Marché</option> ";
    Je ne vois pas quelle est la bonne expression ?

    Merci

  6. #6
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Tout d'abord oublie pas les balises code. Ensuite tu ne peux pas mettre un if dans un echo surtout si tu veux qu'il soit pris en compte

    Jette un oeil au lien que je t'ai donné

  7. #7
    Membre à l'essai
    Inscrit en
    Juin 2005
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 45
    Points : 16
    Points
    16
    Par défaut
    voilà ma réponse :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    	// liste des types de lignes
    echo"&nbsp;&nbsp;Marché :<SELECT name=\"marche\" size=1>\n";
     $selected = (isset($_POST['marche']) and $_POST['marche']== "ligne_par_zone")?'selected="selected"':'';
    echo '<option value="ligne_par_zone" '.$selected.'>Tout Marché</option>';
    $selected = (isset($_POST['marche']) and $_POST['marche'] == "ligne_par_zone_Professionnel")?'selected="selected"':'';
    echo '<option value="ligne_par_zone_Professionnel" '.$selected.'>MarchéProfessionnel</option>';
    $selected = (isset($_POST['marche']) and $_POST['marche'] == "ligne_par_zone_Résidentiel")?'selected="selected"':'';
     echo '<option value="ligne_par_zone_Résidentiel" '.$selected.'>Marché Residentiel</option>';
    $selected = (isset($_POST['marche']) and $_POST['marche'] == "ligne_par_zone_Marché")?'selected="selected"':'';
     echo '<option value="ligne_par_zone_Marché" '.$selected.'>Marché Entreprise</option>';
    echo"</select>\n";
    ?>
    y aurait-il mieux?
    merci

  8. #8
    Membre à l'essai
    Inscrit en
    Juin 2005
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 45
    Points : 16
    Points
    16
    Par défaut
    ou c'est la bonne réponse ?
    merci

  9. #9
    Membre régulier
    Avatar de elitemedia
    Profil pro
    Inscrit en
    Août 2006
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 115
    Points : 120
    Points
    120
    Par défaut
    Ca va, on pourrais faire une petite fonction afin d'éviter la répetition du if isset à chaque fois:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function isSelected($postName, $ligne_par_zone)
    { 
        $selected = (isset($_POST["$postName"]) and $_POST["$postName"]== $ligne_par_zone)?'selected="selected"':'';
        return $selected;
    }
     
    // Ensuite pour utiliser
    $selected = isSelected('marche', 'ligne_par_zone');
    Attention je n'ai pas testé la fonction et il serait possible de l'améliorer pour la sécurité, mais dans le principe c'est ca. (Je ne suis pas sur de ca surtout: $_POST["$postName"]
    Votre nom de domaine dès 1,47€ ?
    www.avenuedot.com

Discussions similaires

  1. Ré-affichage dans un select après validation
    Par wolfdream dans le forum Langage
    Réponses: 3
    Dernier message: 12/02/2009, 15h44
  2. Garder la précision dans un select
    Par Woocher dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 26/02/2007, 15h04
  3. Réponses: 7
    Dernier message: 05/01/2007, 12h24
  4. Réponses: 2
    Dernier message: 24/11/2006, 10h24
  5. <select> <option> et affichage dans un textarea
    Par gazelle dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 05/06/2006, 13h23

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