2009-11-05 24 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

相關問題