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 un champ Select creer dynamiquement apres un refresh


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    593
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 593
    Points : 146
    Points
    146
    Par défaut Garder un champ Select creer dynamiquement apres un refresh
    Voila j'ai un formulaire avec une date composé de 3 select :

    jour - mois - années

    le champ mois est créer statiquement comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <select name="birthdatemonth"><option selected="birthdatemonth" value=""></option>
    							<option value="01" <?php echo (isset($_POST['birthdatemonth']) &&  $_POST['birthdatemonth'] == '01')?'selected="selected"':'';?> >January</option>
    							<option value="02" <?php echo (isset($_POST['birthdatemonth']) &&  $_POST['birthdatemonth'] == '02')?'selected="selected"':'';?> >February</option>
    lors du refresh j'arrive a garder le select choisi précédemment.

    les champs jour et années sont créer dynamiquement. Comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <select name="birthdateyears"><option selected="birthdatyears" value=""></option><?php for($i=1950;$i<=date("Y");$i++) { echo '<option value='.$i.'>'.$i.'</option>';} echo '</select>'; ?>
    Comment faire pour mémoriser mon champ ?

    Merci d'avance

  2. #2
    Membre actif Avatar de leodi
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2004
    Messages : 172
    Points : 224
    Points
    224
    Par défaut
    Bonjour,

    Tu peux faire comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <select name="birthdateyears">
    <option value=""></option>
    <?php
    for($i=1950;$i<=date("Y");$i++)
    {
      echo '<option value="'.$i.'" ' . (isset($_POST['birthdateyears']) && $_POST['birthdateyears'] == $i ? 'selected="selected' : '') . '>'.$i.'</option>';
    }
    echo '</select>';
    ?>
    Ici on applique le ternaire à un echo :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (isset($_POST['birthdateyears']) && $_POST['birthdateyears'] == $i ? 'selected="selected' : '')

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    593
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 593
    Points : 146
    Points
    146
    Par défaut
    Merci cela m'a l'air bien compliqué :p

    Sinon cela marche mais il me garde ma date +1

    donc si je met 1950 j'apuye sur add... je regarde et j'ai 1951

  4. #4
    Membre actif
    Inscrit en
    Avril 2007
    Messages
    483
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Avril 2007
    Messages : 483
    Points : 234
    Points
    234
    Par défaut
    ce n'est pas si compliqué que cela c'est juste une autre syntaxe de la structure if / else en fait

    En clair ça revient à écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    echo '<option value="'.$i.'" ' ;
    if (isset($_POST['birthdateyears']) && $_POST['birthdateyears'] == $i)
    {
            echo 'selected="selected"'; 
    }
    echo '>'.$i.'</option>';

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

Discussions similaires

  1. Formulaire avec champ SELECT modifié dynamiquement.
    Par zebulon36 dans le forum jQuery
    Réponses: 3
    Dernier message: 27/12/2012, 19h33
  2. Garder la selection des checkbox apres submit
    Par etoileDesNeiges dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 01/06/2007, 14h39
  3. champs select dynamique
    Par kcizth dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 04/04/2006, 10h56
  4. Réponses: 5
    Dernier message: 25/07/2005, 15h03
  5. Réponses: 5
    Dernier message: 06/07/2005, 22h14

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