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 :

Un choix persistant dans un formulaire


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    224
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 224
    Points : 62
    Points
    62
    Par défaut Un choix persistant dans un formulaire
    Bonjour

    J’ai un formulaire Web où la saisie consiste à faire un choix sur chacun des quatre menus déroulants.

    L’un des menus déroulants permet de choisir un jour de la semaine : Lundi, Mardi, …:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <LABEL>Jours:
    <select name="jour">
    <option value="lundi"  >Lundi</option>  
    <option value="mardi"  >Mardi</option> 
     …
    en transmettant ensuite la valeur saisie avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $jour = $_POST['jour'];
    Quand mon utilisateur fait des saisies, il fait ensemble toutes les saisies pour un jour de la semaine : celles de Lundi d’abord, celles de Mardi ensuite, …

    Ca lui serait très pratique de sélectionner Mardi, par exemple, et de faire toutes les saisies de Mardi sans avoir à chaque saisie à sélectionner de nouveau Mardi dans le menu déroulant des jours de la semaine.

    Est-il possible de mettre en œuvre un processus où le jour de la semaine, dans mon exemple, persiste jusqu’à ce que l’utilisateur sélectionne un autre jour dans le menu déroulant ?

    J'ai fait plusieurs essais sans succès jusqu'ici.

    Par avance merci de votre aide.

    Francois

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 182
    Points : 178
    Points
    178
    Par défaut
    Bonjour,

    si j'ai bien compris ton objectif, tu veux qu'un jour sois préselectionné.

    tu peux utiliser ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <option selected value='$jour'>
    Après livre à toi de gérer l'emplacement du "selected" dynamiquement.
    exemple (je ne connais pas tes règles de gestions mais : )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <option <?if ($value==$_POST['jour']) echo "selected"; ?> value='<?php echo $value; ?>' >

  3. #3
    Membre du Club Avatar de Thibault92
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 45
    Points : 52
    Points
    52
    Par défaut
    Regarde du coté des attributs du select

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <select>
      <option label="test" value="1">Afrique</option>
      <option label="test" value="2">Amérique</option>
      <option label="test" value="3">Asie</option>
      <option label="test" value="4">Australie</option>
      <option label="test" value="5" selected="selected">Europe</option>
    </select>
    dans cet exemple la liste sera placée sur la 5eme option "Europe"

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 182
    Points : 178
    Points
    178
    Par défaut
    Effectivement j'avais oublié un bout du selected dans ma réponse.

  5. #5
    Membre actif Avatar de Retrokiller069
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 217
    Points : 296
    Points
    296
    Par défaut
    Citation Envoyé par roduce Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <option <?if ($value==$_POST['jour']) echo "selected"; ?> value='<?php echo $value; ?>' >
    Bonjour,

    donc ca donne ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <option <?php if ($value==$_POST['jour']) echo "selected=\"selected\""; ?> value='<?php echo $value; ?>' >
    Je me suis permis de rajouter <?php sur ton premier if

  6. #6
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Hello

    J'ai une classe de génération et de remplissage automatique de formulaires sous le coude si ça te branche:
    http://www.developpez.net/forums/d10...r-formulaires/

    La dernière version est disponible dans les sources de ce projet:
    http://code.google.com/p/php-axiom/

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    224
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 224
    Points : 62
    Points
    62
    Par défaut
    Merci de vos réponses.

    Oui, je souhaite que la persistance soit dynamique.

    J'avais déjà fait des essais en générant dynamiquement le Selected avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <option value="lundi"    <?= $_POST['jour'] == 'lundi'    ? 'selected="selected"' : '' ; ?> >Lundi</option>
    <option value="mardi"    <?= $_POST['jour'] == 'mardi'    ? 'selected="selected"' : '' ; ?> >Mardi</option>  
    ...
    mais la persistance ne fonctionne pas / le selected n'est pas généré.

    A bientôt, je vais travailler avec vos réponses.

    Francois

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    224
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 224
    Points : 62
    Points
    62
    Par défaut
    Je travaille sur vos solutions et sur ce que j'avais mais toujours sans y arriver.

    En reprenant ma ligne courante <option value="lundi" ..., j'essaye de voir ce qui ne fonctionne pas en la testant par morceaux.

    L'expression IF en Php fonctionne, je l'ai testée séparément, elle génère bien le selected dans un cas et rien dans l'autre.

    Par contre, j'ai essayé d'afficher dans ma page la valeur de $_POST['jour'] avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <?php echo "jour: ".$_POST['jour']."<br>"; ?>
    et rien ne sort comme si $_POST['jour'] n'était pas valorisé par la saisie d'un jour dans le menu déroulant.

    Pourtant, j'ai bien:
    • <form method="post" ... en tête du formulaire
    • <LABEL>Jours: <select name="jour"> pour ce champ jour

    Merci par avance de votre aide.

    Francois

  9. #9
    Membre actif Avatar de Retrokiller069
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 217
    Points : 296
    Points
    296
    Par défaut
    Bonjour,

    ce code te permet de faire ce que tu veux, testes le sur une page appart et regarde comme il marche. Après tu l'adaptes à ton code et si ca marche pas envoie tout ton code...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <form action="memePageQueCeFormulaire.php" method="post">
    <select name="jour">
    	<option value="lundi" <?php if(isset($_POST['jour']) && $_POST['jour']=="lundi") echo "selected=\"selected\"";?>>lundi</option>
    	<option value="mardi" <?php if(isset($_POST['jour']) && $_POST['jour']=="mardi") echo "selected=\"selected\"";?>>mardi</option>
    	<option value="mercredi" <?php if(isset($_POST['jour']) && $_POST['jour']=="mercredi") echo "selected=\"selected\"";?>>mercredi</option>
    	<option value="jeudi" <?php if(isset($_POST['jour']) && $_POST['jour']=="jeudi") echo "selected=\"selected\"";?>>jeudi</option>
    </select>
    <input type="text" value="<?php if(isset($_POST['jour'])) echo $_POST['jour'];  ?>">
    <input type="submit" value="valider">
    </form>

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    224
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 224
    Points : 62
    Points
    62
    Par défaut
    bonjour et merci encore de votre aide.

    J'ai fini par trouver où était mon erreur, ça fonctionne impeccablement maintenant.

    En résumé, mon IF en Php était bon; par contre, je fonctionnais mal avec le $_POST.

    J'ai mis tout ça d'équerre, ma page se souvient bien maintenant de ce qui a été saisi le coup précédent et s'en sert pour le mettre en Selected.

    Merci encore, vos réponses, nos discussions m'ont été très utiles face à une logique qui m'échappait.

    Francois

Discussions similaires

  1. Script liste de choix dynamique dans un formulaire
    Par Carlycox dans le forum APIs Google
    Réponses: 1
    Dernier message: 26/12/2013, 18h55
  2. Box récapitulatif des choix effectués dans un formulaire
    Par adissa357 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 04/09/2013, 15h05
  3. Intégrer un choix (filtre) dans un formulaire
    Par yannaka dans le forum IHM
    Réponses: 10
    Dernier message: 16/02/2012, 12h33
  4. Réponses: 2
    Dernier message: 25/01/2007, 14h42
  5. Choix multiple dans un formulaire
    Par jeandormesson dans le forum Langage
    Réponses: 2
    Dernier message: 28/08/2006, 23h53

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