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 :

Liste déroulante, récupérer texte et valeur


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Inscrit en
    Août 2006
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 188
    Points : 131
    Points
    131
    Par défaut Liste déroulante, récupérer texte et valeur
    Bonjour,

    j'ai un formulaire avec 2 select dans mon fichier HTML :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <FORM name="form1" method="post" action="fichier.php">
    <select name="id_technique[]" size="5" multiple="true"><option value="2" >Appuis</option><option value="18" >Coord.</option><option value="13" >Energie</option></select>
    <select name="technique[]" size="5" multiple="true"></select></form>
    Mon 1er select est rempli avec des données d'une table "technique" de ma BDD : le value correspond à l'id_technique de ma table et le texte de l'option correspond au libellé de la technique.
    Je remplis mon 2ème select en sélectionnant des données du 1er et en cliquant sur une flèche qui appelle la fonction javascript suivante :
    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
    21
    function ajout_tech() {
    	if (document.form1.elements[1].selectedIndex < 0) {
    		alert("Une technique doit être sélectionnée pour être ajoutée !");
    		document.form1.elements[1].focus();
    		return;
    	}
    	for (var j = 0; j < document.form1.elements[1].length; j++) {
    		if (document.form1.elements[1].options[j].selected) {
    			var i = document.form1.elements[2].length;
    			var option = new Option(document.form1.elements[1].options[j].text, document.form1.elements[1].options[j].value);
    		    eval("document.form1.elements[2].options[i] = option");
    		}
    	}
     
    	for (var j = document.form1.elements[1].length - 1; j >= 0; j--) {
    		if (document.form1.elements[1].options[j].selected) {
    			document.form1.elements[1].options[j] = null;
    		}
    	}
    	SortElt(document.form1.elements[2]);	
    }
    Lorsque je valide le formulaire, je suis dirigée vers fichier.php, dans lequel j'affiche les données POST (pour vérifier).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    echo 'techniques sélectionnées :<br>';
    echo '<pre>';
    print_r($_POST['technique']);
    echo '</pre><br />';
    ce qui m'affiche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    techniques sélectionnées :
    Array
    (
        [0] => 2
        [1] => 18
        [2] => 13
    )
    il n'y a pas moyen de récupérer plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Array([2]=>Appuis
    [18]=>Coord.
    [13]=>Energie
    sinon dans fichier.php, il faut que je me retape une requête SQL pour récupérer les libellés correspondant à 2, 18, 13 etc.. ??
    Cordialement.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    un select renvoit son "name" et la "value" de l'option, pas le texte de l'option.

    l faut que je me retape une requête SQL pour récupérer les libellés correspondant à 2, 18, 13 etc.. ??
    C'est la bonne méthode.
    Pense que d'un point de vue securité, quelqu'un pourrait sinon envoyer des couples de données incohérentes.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre habitué
    Inscrit en
    Août 2006
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 188
    Points : 131
    Points
    131
    Par défaut
    merci pour la réponse rapide, je ne pensais vraiment pas qu'il fallait le faire comme ça
    Cordialement.

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

Discussions similaires

  1. Réponses: 18
    Dernier message: 29/06/2011, 10h11
  2. liste déroulante récupérer la valeur selected
    Par zezee dans le forum Langage
    Réponses: 7
    Dernier message: 10/11/2009, 17h47
  3. Réponses: 9
    Dernier message: 06/03/2008, 14h20
  4. Réponses: 3
    Dernier message: 15/12/2007, 13h27
  5. [VBA] choix valeur liste déroulante (champ texte d'1 table)
    Par Lou Pitchoun dans le forum Access
    Réponses: 14
    Dernier message: 22/02/2006, 10h27

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