繁体   English   中英

如何使用PHP在数据库中同一表的多列中存储多个复选框值?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM