2009-11-05 5 views
3

Je construis une page d'options de thème pour mon thème WordPress et je voudrais avoir une fonctionnalité pour sélectionner plusieurs éléments d'une liste.Comment obtenir plusieurs articles de <select> avec PHP?

Le code de sélection "une option" que j'utilise ressemble à ceci: http://pastie.org/684800 et cela fonctionne parfaitement.

Je suis un débutant PHP donc j'ai essayé de modifier le code ci-dessus pour atteindre le résultat que je veux. Voici ce que j'ai trouvé: pastie.org/684804. Comme vous pouvez le voir, j'ai fondamentalement ajouté quelques valeurs html multiple="yes" en espérant que cela fonctionnera;)

Le code affiche l'élément de sélection correctement, mais semble enregistrer seulement le dernier sélectionné. Est-ce que quelqu'un pourrait donner des conseils sur la façon de sauver plusieurs éléments choisis?

+5

'multiple = "yes"' est pas correct. Certains navigateurs peuvent le permettre, mais 'multiple =" multiple "' est en fait le bon moyen. –

+0

Oh, je ne le savais pas, merci! – Justine

Répondre

11

Si vous modifiez le nom de l'élément select pour terminer par "[]", PHP le traitera comme un tableau. Tous les éléments sélectionnés seront des éléments du tableau. Par exemple:

<select name="myChoices[]" multiple="multiple"> ... </select> 

<?php 
    $selectedChoices = $_POST['myChoices']; // selectedChoices is an array 
?> 
+0

Pourriez-vous modifier le code que j'ai ici? http://pastie.org/684892 Je suis un débutant complet quand il s'agit de PHP, donc je ne suis pas sûr de ce que vous voulez dire. J'ai 'name =" "' Pour l'instant, qui affiche un identifiant que je lui donne dans un tableau. Dois-je le changer en 'name =" [] "'? – Justine

+0

Oui, vous l'avez: name = " []" –

+0

Je l'ai fait, mais cela ne semble pas fonctionner. Les éléments de l'élément select sont enregistrés dans une variable. Mais quand je fais écho à cette variable, je ne vois pas "Array" imprimé. Voici le code complet que j'ai utilisé si cela va aider http://pastie.org/685106 (excuse le manque de code a l'intention et s'il vous plaît ignorer le code basé sur la table;)) – Justine

4

Si vous donnez la sélection d'un nom suivi de [] sous la forme,

name="my_select[]" 

vous obtiendrez un tableau dans le script PHP cible que vous pouvez analyser.

0
<select name="mySelection[]" multiple="multiple"> 
    <option></option> 
    <option></option> 
    <option></option> 
</select> 

Cela vous permettra d'accéder au choix multiple vous en php

Questions connexes