【问题标题】:SQL Checkbox with multiple values具有多个值的 SQL 复选框
【发布时间】:2015-11-22 03:07:02
【问题描述】:

我需要一些关于 php/sql 程序的帮助,指的是复选框。 目前我有这个:

foreach($result as $row){
  $device_serialnum = $row['device_serialnum'];
  $device_manufacturer = $row['device_manufacturer'];
  $description = $row['description'];
  echo("<input type=\"checkbox\" name = \"device_serialnum[]\" value=\"$device_serialnum\"> $device_serialnum : $device_manufacturer : $description<br/>");
}   

其中device_serialnum、device_manufacturer和description的值来自之前的sql查询。

我想到的是每个复选框都有两个值(device_serialnum、device_manufacturer),因为它们是我需要保留的两个主键才能完成下一个查询。

按照我之前的代码方案,有没有简单的方法?

提前致谢,

问候

黑化

【问题讨论】:

  • 为什么不创建一个数组,包括每行所需的主键,复选框获取一个 int 值(1,2,3,4...),然后返回主键只需执行类似 array[checbox.value] 的操作
  • 一个超级简单的解决方案是将两个变量放在复选框的 value 属性中,并用一些永远不会出现在任何一个变量中的字符分隔。然后,在处理值的脚本中,分解该分隔符上的值。

标签: php sql checkbox


【解决方案1】:

一个复选框可能只有一个值属性。但是您可以通过使用某种分隔符(例如“|”)将多个值放入该属性中:

echo("<input type=\"checkbox\" name = \"device_specs[]\" value=\"$device_serialnum|$device_manufacturer\"> $device_serialnum : $device_manufacturer : $description<br/>");

在处理表单值时,您必须再次拆分这些值:

list($device_serialnum,$device_manufacturer) = explode('|',$_POST['device_specs']);

只是一个想法......

【讨论】:

  • 谢谢!我会尝试,我认为这可能会解决我的问题。
猜你喜欢
  • 1970-01-01
  • 2016-09-11
  • 2020-09-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-13
  • 1970-01-01
相关资源
最近更新 更多