php - 如何设置表单的 DB 代码

标签 php mysql codeigniter

我的页面有 39 个复选框。我的示例中的复选框类似于表单名称。我的问题是,对于 39 个复选框,我需要一种方法来存储向学生提供的表格。目前我设置的是每个表格都用逗号和引号分隔,以便在运行报告时管理员可以使用 CSV 下载选项和学生收到的表格组。这可以工作,但非常基本,并且还会产生不好的副作用,因为 mysql 会转义引号,所以在每个表单名称之前都会出现/。

这是我目前拥有的:

 if ($this->input->post('action') == 'additional') {
     $givenforms = "";

     foreach ($this->input->post('form') as $forms) {
      $givenforms .= ', "' . $forms . '"';
        }
        $comments = 'This student was given' . $givenforms . '';

        if (($this->input->post('action') == 'additional') && ($this->input->post('other') == 'OTHER')) {
            $comments .= ', '.$this->input->post('counselorcomments');
        }
 }

在数据库中,结果将如下所示:该学生被赋予“xyz”、“eoe”、“wwo”,

我几乎只需要关于如何存储向学生提供的表格的想法,如果需要,如果将所有 39 份表格都提供给学生,我需要存储向学生提供的所有表格以供以后报告。 (尽管不会提供 39 份表格)

最佳答案

听起来您需要学生和表单之间的一:多关系。可能想对这个主题做一些研究。

我认为将逗号分隔的值存储在数据库中的单个字段中通常是一种非常糟糕的形式,如果您这样做,则几乎总是表明您需要(至少)另一个表。

关于php - 如何设置表单的 DB 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15869827/

相关文章:

php - 当表单验证失败时,如何传递错误信息重新尝试?

php - 递归 MySQL 查询

mysql - 如何获得与所选日期不同的价格

php - 如果流量很高,从数据库检索最后插入的 ID 是否会有混淆的风险?

javascript - Codeigniter 更新表单未提交

php - 如何使用php中的 anchor 将包含整个数据库的一个页面中的选定值显示到另一页面

php - file_get_contents 接收 cookie

mysql - 为什么 sails.js 启动失败?

mysql - Angular - 在 Zeppelin 中将动态表单内容插入数据库

javascript - 如何在多个动态创建的输入上使用 Bootstrap Datetimepicker