在下面的代码中,我选择了4个复选框,我可以显示这4个选中的复选框。但是如何在讲座1,讲座2等不同的列中将这4个选中的复选框值存储在我的数据库的同一个表中。 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>";
}
}
答案 0 :(得分:0)
你还没有发布表格结构,但无论如何我会尽力在这里给出最好的建议。
现有系统:
您的表格中有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)