PHP 多个隐藏值选择选项


PHP Multiple Hidden Values Select Option

是否可以分配多个值来选择选项下拉列表?选择它们时,我需要从每个下拉列表中检索多条数据,并且我只能获得"名称"和"id"。将显示名称供用户选择,但它是传递要处理的 ID。这是我的代码:

<?php
$att_1 = $att_1;
mysql_connect("xx.xx.xx.xx","xxxxxx","xxxxxx");
mysql_select_db("dezanjow_cf");
$sql=mysql_query("select id, name from model");
if(mysql_num_rows($sql)){
$select= '<select name="model">';
$select.='<option value="default">Select Model</option>';
while($rs=mysql_fetch_array($sql)){
     $select.='<option value="'.$rs['id'].'">'.$rs['name'].'</option>';
  }
}
$select.='</select>';
echo $select;
?>

这将生成如下所示的 html:

<select name="model">
<option value="default">Select Model</option>
<option value="5">GH20</option>
<option value="6">GH21</option>
<option value="7">GH22</option>
</select>

我希望像这样显示它们(例如):

<select name="model">
<option value="default">Select Model</option>
<option value="5","abc">GH20</option>
<option value="6","def">GH21</option>
<option value="7","ghi">GH22</option>
</select>

因此,当数据传递到下一个 php 脚本时,当用户选择"GH20"时,我可以同时使用数据"5"和"abc"。我在谷歌上没有看到太多关于这个的信息,甚至不知道这是否可能。如果我要求不可能的事情,请告诉我!非常感谢,尼克

嘿,

你不能有多个这样的值,因为 post 或 get 将只返回第一个值,在本例中为 5

<option value="5","abc">GH20</option>

但是你可以让你的值看起来像这样

<option value="5,abc">GH20</option>

然后在 PHP 脚本中,您可以使用分解函数分隔值

explode(',', $_POST['model']) 这将返回您可以使用的数组 array( 0=> 5, 1=>abc)

最好序列化

数据,然后在下一个php脚本中取消序列化它。

$data=array($rs['id'], "abc");   //data to be stored
$serialized_data=serialize($data);    //serialize data
$select.='<option value="'.$serialized_data.'">'.$rs['name'].'</option>';

重要

//unserialize information
$unserialized_data=unserialize($serialized_data);

这将输出相同的数组array('SOMEID', "abc")