[英]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”。 在Google上,我对此知之甚少,甚至不知道这是否可行。 如果我要的是不可能,请告诉我! 非常感谢,尼克
嘿,您不能有多个这样的值,因为post或get将仅返回第一个值,在这种情况下为5
<option value="5","abc">GH20</option>
但是你可以让你的价值看起来像这样
<option value="5,abc">GH20</option>
然后在php脚本中,可以使用explode函数分隔值
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")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.