我正在将一些数据从数据库表加载到复选框中。当用户选中并提交复选框时,需要将这些复选框中的值添加到其他表中。有了现在的代码,我可以发送一个复选框的值。在发送所有选中复选框的值时,我遗漏了什么?
<table>
<?php
$q5=mysqli_query($link,"SELECT * FROM brands_offer WHERE Brand_Id='$bid' AND Published='1' ");
while($row5 = mysqli_fetch_array($q5)){
$catid= $row5['Catg_Id'];
$subcatid= $row5['Subcatg_Id'];
$pid= $row5['Product_Id'];
?><tr><td>
<form action="store-admin.php?search=<?php echo $stname;?>#stock" method="post">
<input type="checkbox" name="checkbox" value="<?php echo "$bname,$catid,$subcatid,$pid";?>" >
<?php
echo $bname;
echo " -> ";
echo $catid;
echo ", ";
echo $subcatid;
echo ", ";
echo $pid;
echo " ";
}
?></td></tr>
<input type="submit" value="Save Changes" name="add" >
</form>
</table>
<?php
if(isset($_POST['add']))
{
$chk = $_POST['checkbox'];
$val = explode(",",$chk);
$bn = $val[0];
$cid= $val[1];
$scid= $val[2];
$prid= $val[3];
echo "<script type='text/javascript'>alert('brand: ". $bn."')</script>";
echo "<script type='text/javascript'>alert('cat: ". $cid."')</script>";
echo "<script type='text/javascript'>alert('sub: ". $scid."')</script>";
echo "<script type='text/javascript'>alert('pr: ". $prid."')</script>";
}?>
最佳答案
在复选框name属性name="checkbox[]"
中使用括号,post变量将是选定值的数组。
编辑:我注意到while循环中有表单打开标记。您需要在while循环之前放置它,否则它将生成大量的打开表单标记。
关于php - 选中多个复选框时,将值发送到数据库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37175013/