【问题标题】:PHP Multiple Hidden Values Select OptionPHP 多个隐藏值选择选项
【发布时间】:2023-03-27 16:40:01
【问题描述】:

是否可以分配多个值来选择选项下拉列表?当它们被选中时,我需要从每个下拉列表中检索多条数据,并且我只能获取“名称”和“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”。我在谷歌上看到的不多,甚至不知道这是否可能。如果我要求不可能,请告诉我!非常感谢,尼克

【问题讨论】:

    标签: php html select options


    【解决方案1】:

    如果你序列化你的数据然后在下一个 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")

    【讨论】:

    • 说到矫枉过正.. 如果 OP 真的想要这个,那么他应该使用 `value="id;textual_value"'
    【解决方案2】:

    嘿,你不能有多个这样的值,因为 post 或 get 只会返回第一个值,在这种情况下是 5

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

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

    &lt;option value="5,abc"&gt;GH20&lt;/option&gt;

    然后在 php 脚本中你可以使用explode函数来分隔值

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-30
      • 2021-05-19
      • 2013-01-13
      • 1970-01-01
      • 2013-11-08
      • 2011-03-11
      • 2013-08-24
      • 2017-03-25
      相关资源
      最近更新 更多