[英]How to store multiple checkbox values in multiple columns of same table in database using PHP?
在下面的代码中,我选择了 4 个复选框,并且能够显示这 4 个选定的复选框。 但是如何将这 4 个选定的复选框值存储在我的数据库的同一个表中的 1、讲座 2 等下的不同列中。 4 是讲座复选框的默认值。
$teachername1=$_POST[ 'teachername1' ];
echo"$teachername1";
$_SESSION['teachername1']=$_POST[ 'teachername1' ];
if(!empty($_POST['lecture']))
{
$checked_count = count($_POST['lecture']);
echo"You have selected following ".$checked_count."option(s):<br/>";
foreach($_POST['lecture'] as $selected)
{
echo $selected."<br>";
}
}
您还没有发布表格结构,但无论如何我会尽量在这里给出我最好的建议。
现有系统:
您的表中有 4 个选择列,例如:
将所有 4 列设为布尔值,通过分别插入 1 或 0 来检查它们是否已设置(1)或未设置(0),以跟踪它们是否已选择该选项。
id,(other columns),choice1, choice2, choice3, choice4
确保无论何时插入复选框选择值,同时插入数据库表集 1 或 0 到相应的表。
当您获取相应行的记录时,如果该列设置为 1,则选中该复选框。
你的系统有问题。 请使用以下方式。
建议方式:
请不要将复选框值存储在不同的列中。 今天你可能只有 4 个值。 想想将来你可能会想出 8 个复选框。 在这种情况下,您需要再添加 4 列。
取而代之的是,您可以通过多一个具有各自名称的表来规范您的数据库表。 现在你的新规范化表看起来像
checkbox table
--------------
id, checkbox_name, checkbox_value(if any)
teachers table
--------------
id, cols (other columns which I dont know whether its there or not)
teachers_choices //This is the checkbox selected table
----------------
id, teacher_id(this references to teacher table), checkbox_id (this references to checkbox table)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.