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 :

Mémoriser options d'un multiselect


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    autodidacte
    Inscrit en
    Juin 2014
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : autodidacte

    Informations forums :
    Inscription : Juin 2014
    Messages : 45
    Points : 29
    Points
    29
    Par défaut Mémoriser options d'un multiselect
    Bonjour,

    Je voudrais afficher les options sélectionnées lorsqu'un utilisateur valide un formulaire lequel présente des erreurs (champs manquants, formats invalides, etc), de manière à ce qu'il n'ai pas à re remplir l'intégralité du form.
    SI je récupère bien la option value (=id de l'option), je n'arrive pas à afficher son titre. Je n'ai trouvé aucun tutoriel complet sur le sujet, que des tutoriels partiels. Merci.

    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
    20
    <select name="product_occasions[]" id="select_attribute"   multiple>
     
     <?php if (isset($_POST['product_occasions'])) 
    	     { $arr = $_POST['product_occasions'];
    		foreach ($arr as $k => $v)
    			   { ?> <option value="<?php echo $v; ?>" selected="selected" >  <?php echo $v['occasion_title]; ?></option>
    				<?php  
    			   }
    	 }
     
     $get_occasion = mysqli_query($con,"select * from product_occasion order by occasion_title");
     
     while ($occasions=mysqli_fetch_array($get_occasion))
             {                                  
               $occasion_id = htmlspecialchars($occasions['occasion_id']);
               $occasion_title = htmlspecialchars($occasions['occasion_title']);                                  
               echo "<option value='$occasion_id'> $occasion_title </option>";                                  
              }                              
      ?>                              
    </select>

  2. #2
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 628
    Points
    3 628
    Billets dans le blog
    8
    Par défaut
    Bonjour SunSeeker.
    Si tu utilises HTML5, il fait ce travail pour toi, côté client.
    Il suffit que ton HTML respecte cette structure, et tous les navigateurs feront le contrôle de saisie côté client.
    Imaginons que ton 'select' est obligatoire (required), il bloque à la soumission du formulaire en gardant toutes les données.
    Il ne te restera plus à toi qu'à revérifier tout côté serveur.

    Code html : 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
    20
    21
    22
    23
    24
    25
    <!DOCTYPE html>
    <html lang="fr">
    	<head>
    		<meta charset="utf-8">
    		<title>titre de la page</title>
     
    		<!-- mon template.css -->
    		<link rel="stylesheet" href="main.css" media="screen">
     
    	</head>
     
    	<body>
     
    		<header>
    			<!-- menu du haut -->
    		</header>
     
    		<!-- contenu de ma page -->
    		<div>
                           <!-- ici tu places ton formulaire complet -->
    		</div>
     
    	</body>
     
    </html>

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    autodidacte
    Inscrit en
    Juin 2014
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : autodidacte

    Informations forums :
    Inscription : Juin 2014
    Messages : 45
    Points : 29
    Points
    29
    Par défaut
    Bonjour Dendrite,

    Je comprends l'utilité des required, et c'est ce que j'avais fait au début, mais parfois on ne dispose par forcément de toutes les infos à renseigner tout de suite, ou une erreur de frappe peut se glisser dans un champ, on valide le form, et surprise, il faut tout réécrire..
    Donc c'est pour ça que je propose de restituer les valeurs à la soumission du form. SI tout est ok, je redirige sur une autre page, sinon je reviens sur celle en cours avec les infos correctes pré-renseignées.

    Et non, le required ne garde pas en mémoire les options sélectionnées sur mon select multiple (Selectator)...

    Ce que j'ai fait en attendant d'avoir réponse à ma question, c'est aller chercher dans la bdd le titre correspondant à l'id, mais... ce que je voudrais, c'est restituer la option value et la option title.
    Sur un select simple, j'arrive à récupérer ces 2 infos, mais pas sur un multiple. Je cherche la formule idéale, qui pourra certainement me servir dans d'autres circonstances....

    Merci

Discussions similaires

  1. [WD25] J'ai un problème avec l'option "Mémoriser la valeur".
    Par Fmfib dans le forum WinDev
    Réponses: 0
    Dernier message: 19/09/2020, 08h30
  2. Multiselect avec groupe d'options
    Par swingstar dans le forum jQuery
    Réponses: 2
    Dernier message: 11/08/2014, 19h12
  3. StarUml Pas de mémorisation des options
    Par psau dans le forum Autres
    Réponses: 0
    Dernier message: 09/12/2009, 15h16
  4. [uigetfile] Option MultiSelect mais plus complexe
    Par nicolasf85 dans le forum MATLAB
    Réponses: 3
    Dernier message: 03/10/2009, 13h31
  5. Option Multiselect dans OpenFileDialog
    Par patbeautifulday1 dans le forum Général VBA
    Réponses: 3
    Dernier message: 03/03/2008, 12h31

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