加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 如何在选项字段中发布两个值?

发布时间:2020-12-13 22:09:00 所属栏目:PHP教程 来源:网络整理
导读:我想在一个下拉选项中发布两个值,我不确定接近它的最佳方法. 下拉列表从外部服务中提取数据.这些数据是’id’和’name’. 当我在下拉列表中选择一个选项然后按提交时,我希望发布’id’和’name’. 我的代码看起来像这样: select name="data"optionSelect a
我想在一个下拉选项中发布两个值,我不确定接近它的最佳方法.

下拉列表从外部服务中提取数据.这些数据是’id’和’name’.

当我在下拉列表中选择一个选项然后按提交时,我希望发布’id’和’name’.

我的代码看起来像这样:

<select name="data">
<option>Select a name</option>
<?php foreach($names as $name): ?>
    <option value="<?php echo $name['id']);?>">
       <?php echo $name['name']);?>
    </option>               
<?php endforeach; ?>
</select>

我已经尝试放入一个隐藏的输入字段,但那不会渲染下拉(而只是创建一个列表).

我在其他地方使用id和name,所以我不想只发布id,然后必须再次获取名称,因此我想同时发布它们.

有什么建议?

解决方法

您不能发布两个值,除非它们都出现在value属性中.您可以将它们放入,用逗号或连字符分隔,并在PHP中将它们分开():

// Place both values into the value attribute,separated by "-"
<option value="<?php echo $name['id'] . "-" . $name['name']);?>">
   <?php echo $name['name']);?>
</option>

用PHP接收它们

// split the contents of $_POST['data'] on a hyphen,returning at most two items
list($data_id,$data_name) = explode("-",$_POST['data'],2);

echo "id: $data_id,name: $data_name";

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读