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

SAS AF et formulaires Discussion :

Récupérer une liste de valeurs à partir d'une liste déroulante à sélection multiple


Sujet :

SAS AF et formulaires

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 51
    Points : 42
    Points
    42
    Par défaut Récupérer une liste de valeurs à partir d'une liste déroulante à sélection multiple
    Bonjour,

    Je travaille sur un procédure stockée qui génère un formulaire HTML et restitue des données selon les paramètres sélectionnés par l'utilisateur via ce formulaire.

    J'ai une liste déroulante normale dont la valeur de l'option sélectionnée est récupérée par une variable globale correspondant à l'attribut name de la balise select.
    En gros :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    %global valeur_liste;
     
    %macro formulaire;
    put '<select name="valeur_liste" id="liste_deroulante">';
    put '<option id="a">a</option>';
    put '<option id="b">b</option>';
    put '<option id="c">c</option>';
    %mend formulaire;
    Et plus loin je récupère la valeur sélectionnée avec &valeur_liste.

    Ça ça fonctionne.

    Mais je dois modifier ma liste déroulante pour permettre de sélectionner plusieurs options :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    put '<select name="valeur_liste[]" id="liste_deroulante" multiple="multiple">';
    Et là je n'arrive pas à récupérer la liste des options sélectionnées. J'imagine qu'il faut déclarer la variable valeur_liste comme un array mais pour l'instant c'est un échec. A chaque fois je ne récupère que la première option sélectionnée.

    Si quelqu'un a des suggestions ou des exemples je suis preneur.

    Merci d'avance.

  2. #2
    Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 51
    Points : 42
    Points
    42
    Par défaut
    Si jamais ça peut être utile à quelqu'un, la solution à mon problème est la suivante :

    Pas besoin d'utiliser un array, la variable globale "normale" suffit. La liste déroulante se présente donc comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <select name="valeur_liste" id="liste_deroulante" multiple="multiple">
    Si on sélectionne une seule option, elle est stockée dans &valeur_liste, comme pour une liste déroulante à choix unique.

    Si on sélectionne plusieurs options, autant de variables sont automatiquement créées : &valeur_liste1, &valeur_liste2, &valeur_liste3, ... valeur_listeN, contenant chacune une option sélectionnée.
    La variable &valeur_liste_count est également créée, elle contient le nombre d'options sélectionnées et permet de parcourir l'ensemble des options via une boucle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    %do i=1 %to &valeur_liste_count ;
     
          put &&valeur_liste&i;
     
    %end;

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

Discussions similaires

  1. [XL-2010] Générer une liste de dates à partir d'une date de début et d'une date de fin
    Par morgan75 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 08/06/2017, 11h39
  2. Réponses: 9
    Dernier message: 26/10/2016, 15h07
  3. Réponses: 0
    Dernier message: 07/01/2015, 12h14
  4. [XL-2010] Récupérer une liste avec valeurs uniques depuis une colonne
    Par Onkas81 dans le forum Excel
    Réponses: 5
    Dernier message: 08/08/2013, 18h46
  5. [MySQL] Récupérer une valeur à partir d'une liste select
    Par xymagic dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 15/11/2011, 11h22

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