【问题标题】:Getting multi Values from a dropdown list in PHP从 PHP 的下拉列表中获取多个值
【发布时间】:2012-07-27 02:50:55
【问题描述】:

这是我的下拉列表。

<p align="center"><select size="1" name="bo_chose" id="boID">
<option selected value="Select...">Select...</option>

<?php
while ($list_bo = mysql_fetch_array($select_brof)) {
echo "<option value=\"$list_bo[bo_name]     $list_bo[bo_code]\">$list_bo[bo_code],$list_bo[bo_name]</option>"; }
?>

</select></p>

所以下拉菜单将首先显示“选择...” 然后将检索数据并列出&lt;option&gt;中的bo_name、bo_code

效果很好。

问题是,我想将该值带到另一个 PHP 页面,该页面将删除 下拉列表中选择的选项。 当然 MySQL 和 PHP 会抱怨它不存在……为什么?

它将新值 $bo_chose(下拉列表的名称)作为新值 as (bo_name, bo_code) — 作为一个值而不是拆分值。

所以如果下拉列表是 (george Mike GM) 数据会抱怨没有叫“George Mike GM”的值 当我希望它只携带 bo_code 的“GM”时。

谁能帮忙?

【问题讨论】:

标签: php html


【解决方案1】:

只需用空格作为分隔符拆分值并选择第一个值。我可以知道你为什么 需要同时携带姓名和身份证。

【讨论】:

  • 为什么我需要同时添加?我在代码的顶部有一个 JavaScript 将回显该值。我想回显 bo_name 而不是 bo_code,bo_code 是 mySql 中的 KEY。 SO携带的值应该是bo_code,但用户的回显值应该是bo_code
【解决方案2】:

您应该只添加 $list_bo['bo_code'] 作为选项值,而不是两者都添加。

【讨论】:

  • 为什么我需要同时添加?我在代码的顶部有一个 JavaScript 将回显该值。我想回显 bo_name 而不是 bo_code,bo_code 是 mySql 中的 KEY。 SO携带的值应该是bo_code,但用户的回显值应该是bo_code
  • 在这种情况下,您可以按照以下建议进行拆分。
【解决方案3】:

如果我对您的理解正确,您可以在 POST 表单中进行此选择,或者您通过 ajax 将其发送到要解析值的脚本。使用分隔符合并这两个变量。分隔符应该是一个你确定的字符,它永远不会在两个变量中的任何一个中。因此,您可以例如使用 ;对于分隔符并写 $list_bo[bo_name].';'.$list_bo[bo_code]。在接收脚本中,您只需按分隔符分解值,您将获得两个值作为数组。如果您不确定两个变量中会包含哪些字符,您可以在将其放入 html 之前对其进行 json_encode 或序列化。

【讨论】:

  • 对不起,Anze,你能给我一个例子吗?
  • 首先,你需要目标 php 脚本中的名称和代码,还是只需要一个标识符(代码)?
  • 在目标php脚本中(应该被执行)我只需要bo_code,它是MySql中的主键。
  • 好吧,比真正避免使用分隔符。只需将 $list_bo[bo_code] 放入选项的值中即可。
  • 如果我只将 $list_bo[bo_code] 放在值中..它可以完美地工作。我输入 2 个值的原因是.. 下拉列表的用户选择的输出将弹出一个 javascript 窗口并说(你真的要删除 $bo_name 吗?)如果用户按下是,脚本应该执行 bo_code。 ...所以 bo_name 之所以存在只是为了向用户回显...听起来很愚蠢?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-05-23
  • 2018-05-20
  • 2015-03-02
  • 1970-01-01
  • 2015-12-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多