【问题标题】:How to get multiple items from <select> with PHP?如何使用 PHP 从 <select> 中获取多个项目?
【发布时间】:2009-11-05 14:42:19
【问题描述】:

我正在为我的 WordPress 主题构建一个主题选项页面,我想要一个从列表中选择多个项目的功能。

我使用的“一个选项”选择代码如下所示:http://pastie.org/684800,它运行良好。

我是 PHP 新手,所以我尝试修改上面的代码以达到我想要的结果。这是我想出的:pastie.org/684804。如您所见,我基本上添加了一些 html 值 multiple="yes" 希望它会起作用;)

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

【问题讨论】:

  • multiple="yes" 不正确。有些浏览器可能允许,但multiple="multiple"实际上是正确的方式。
  • 哦,不知道,谢谢!

标签: php wordpress


【解决方案1】:

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

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

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

【讨论】:

  • 你能编辑我这里的代码吗? pastie.org/684892 我是 PHP 的初学者,所以我不确定你的意思。我现在有name="&lt;?php echo $value['id']; ?&gt;",它显示了我在数组中给它的ID。我应该把它改成name="&lt;?php echo $value['id']; ?&gt;[]"吗?
  • 是的,你明白了:name="[]"
  • 我已经做到了,但它似乎不起作用。选择元素中的项目保存在变量中。但是当我回显这个变量时,我没有打印出“Array”。如果对pastie.org/685106有帮助,这是我使用的完整代码(请原谅缺少代码,请忽略基于表格的代码;))
【解决方案2】:

如果您在表单中给选择一个名称后跟 [],

 name="my_select[]"

您将在目标 PHP 脚本中获得一个可以解析的数组。

【讨论】:

    【解决方案3】:
    <select name="mySelection[]" multiple="multiple"> 
      <option></option> 
      <option></option>
      <option></option>
    </select>
    

    这将让您在 php 中访问多项选择

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-12-07
      • 2014-04-21
      • 2012-09-29
      • 1970-01-01
      • 2017-05-11
      • 1970-01-01
      • 2020-08-19
      相关资源
      最近更新 更多