2012-07-28 148 views
0

这是我的下拉列表。从PHP中的下拉列表获取多个值

<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> 

所以下拉会显示第一个 “选择...” 然后将<option>

检索数据andlist的bo_name,bo_code它运作良好。

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

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

所以如果下拉列表是(乔治·麦克GM) 数据会抱怨,没有所谓的“乔治·迈克GM” 时,我希望它仅携带“GM”,这是bo_code值。

任何人都可以帮忙吗?

+0

欢迎来到Stack Overflow!请不要使用'mysql_ *'函数来编写新的代码。他们不再维护,社区已经开始[弃用程序](http://goo.gl/KJveJ)。请参阅* [红盒子](http://goo.gl/GPmFd)*?相反,您应该了解[准备好的语句](http://goo.gl/vn8zQ)并使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli的)。如果你不能决定哪些,[这篇文章](http://goo.gl/3gqF9)会帮助你。如果你选择PDO,[这里是很好的教程](http://goo.gl/vFWnC)。 – 2012-07-28 21:07:14

回答

0

只需将空格分隔为分隔符并选取第一个值即可。请问我为什么 需要首先携带姓名和身份证。

+0

为什么我需要添加两个?我在代码的顶部添加了一个JavaScript,以回应价值。并且我想回显bo_name不是bo_code,bo_code是mySql中的KEY。 SO携带值应为bo_code,但用户的回显值应为bo_code – 2012-07-28 21:31:55

0

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

+0

为什么我需要同时添加?我在代码的顶部添加了一个JavaScript,以回应价值。并且我想回显bo_name不是bo_code,bo_code是mySql中的KEY。 SO携带值应该是bo_code,但用户的回显值应该是bo_code – 2012-07-28 21:30:47

+0

,在这种情况下,您可以按照以下建议进行拆分。 – Dru 2012-07-28 21:52:30

0

如果我正确地理解了你,你可以在POST表单中选择这个选择,或者通过ajax将它发送给你想要解析值的脚本。使用分隔符来合并这两个变量。分隔符应该是一个你确定的字符,它永远不会出现在两个变量中的任何一个中。所以,你可以例如使用;为分隔符并写入$ list_bo [bo_name]。';'。$ list_bo [bo_code]。在接收脚本中,您只需按分隔符分解值,您将以数组形式获取两个值。如果你不确定哪些字符会在两个变量中出现,你可以在json_encode或序列化之前把它放到html中。

+0

对不起Anze,你能给我一个例子吗? – 2012-07-28 22:25:08

+0

首先,您是否需要目标php脚本中的名称和代码,或者您只需要一个标识符(代码)? – 2012-07-28 22:27:18

+0

在目标php脚本(应该被执行)我只需要bo_code这是MySql中的主键。 – 2012-07-28 22:37:04

相关问题