如何向数据库中的单个列提交一组复选框值

时间:2014-01-14 16:45:08

标签: php mysqli

我有一个div,带有以下复选框

<input type="checkbox" name="mobile" value="charger"/>  Charger &nbsp;&nbsp; &nbsp; 
<input type="checkbox" name="mobile" value="case"/> Case &nbsp;&nbsp;&nbsp;
<input type="checkbox" name="mobile" value="headset"/> Headset &nbsp;&nbsp; &nbsp; 
<input type="checkbox" name="mobile" value="box"/> Box&nbsp;&nbsp; &nbsp; 
<input type="checkbox" name="mobile" value="usb"/> USB Cable &nbsp;&nbsp; &nbsp; 
<input type="checkbox" name="mobile" value="sim"/> SIM<br/>

我需要将所有选中的复选框值提交到db

中的一列
if (isset($_POST['submit']))
{ 

$type = $_POST['type'];
$name = $_POST['name'];
$serial = $_POST['serial'];
$imei = $_POST['imei'];
$mobile = $_POST['mobile'];


$sql3= "INSERT INTO devices (type, name, serial, imei, mobile) VALUES ('$type', '$name', '$serial', '$imei', '$mobile')";
mysqli_query($mysqli,$sql3) or die(mysqli_error($mysqli));

我面临的问题是,如果我选择多个chjeckbox,只会保存一个复选框。如何将所有选定的checbox值保存在一列

1 个答案:

答案 0 :(得分:0)

使用name="mobile[]"代替。 这会将所有移动复选框提交为数组

<input type="checkbox" name="mobile" value="charger"/>  Charger &nbsp;&nbsp; &nbsp; 
<input type="checkbox" name="mobile" value="case"/> Case &nbsp;&nbsp;&nbsp;
<input type="checkbox" name="mobile" value="headset"/> Headset &nbsp;&nbsp; &nbsp; 
<input type="checkbox" name="mobile" value="box"/> Box&nbsp;&nbsp; &nbsp; 
<input type="checkbox" name="mobile" value="usb"/> USB Cable &nbsp;&nbsp; &nbsp; 
<input type="checkbox" name="mobile" value="sim"/> SIM<br/>

您的$_POST变量将包含所有选中的值。它看起来像那样

$_POST['mobile'] = array('charger', 'case', ...)

您可以使用implode()将此数组连接到字符串。并以这种方式添加