2009-11-05 47 views
3

我正在为我的WordPress主题构建一个主题选项页面,我希望能够从列表中选择多个项目。如何使用PHP从<select>获取多个项目?

我使用的“one option”选择代码如下所示:http://pastie.org/684800,它的工作原理完美。

我是一个PHP新手,所以我试图修改上面的代码来实现我想要的结果。以下是我想出的:pastie.org/684804。正如你所看到的,我基本上增加了一些html值multiple="yes"希望它能工作;)

该代码正确显示选择项目,但似乎只保存最后选择的一个。有人可以提供一些建议,如何实现节省多个选择的项目?

+5

'多个= “是”'是不正确的。有些浏览器可能会允许它,但'multiple =“multiple”'实际上是正确的方法。 – 2009-11-05 14:51:12

+0

呵呵,不知道,谢谢! – Justine 2009-11-05 15:21:08

回答

11

如果您将select元素的名称更改为以“[]”结尾,则PHP会将其视为一个数组。所有选中的项目都是数组中的元素。例如:

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

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

您能否编辑我在这里的代码? http://pastie.org/684892当谈到PHP时,我是一个完整的初学者,所以我不确定你的意思。我有'name =“<?php echo $ value ['id'];?>”'此刻,它显示一个ID,我把它放在一个数组中。我应该将它改为'name =“<?php echo $ value ['id'];?> []”'? – Justine 2009-11-05 15:30:51

+0

是的,你已经明白了: name =“<?php echo $ value ['id'];?> []” – 2009-11-05 15:34:13

+0

我已经完成了它,但它似乎不起作用。来自select元素的项目保存在一个变量中。但是当我回显这个变量时,我没有打印出“Array”。这里是我使用的完整代码,如果这将帮助http://pastie.org/685106(原因是缺少代码意图,请忽略基于表的代码;)) – Justine 2009-11-05 17:15:15

4

如果你给的选择一个名称,然后按[]的形式,

name="my_select[]" 

你会得到目标PHP脚本,可以解析的数组。

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

这将让你访问你的选择题在PHP

相关问题