我的页面有 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/