作者:停止离开静悄悄 | 来源:互联网 | 2023-09-14 18:27
篇首语:本文由编程笔记#小编为大家整理,主要介绍了无法在数据库中插入多个复选框数据相关的知识,希望对你有一定的参考价值。
更新。我在数据库中插入多个复选框数据时遇到问题。
这是我的看法
php
$i = 0;
$qArr = array();
$qArrc = 0;
$qArr1 = array();
$qArrc1 = 0;
$uArr = array();
$u = 0;
foreach($questions->result() as $q){ ?>
questions; ?>
$i++;
}?>
这是我的控制器
for($i = 0; $iinput->post('check')); $i++){
$data1 = array(
'question' => $this->input->post('check')[$i],
'speaker_id' => $this->input->post('hidden')[$i],
'question_id' => $this->input->post('hidden1')[$i]
);
$this->input->post('submit');
$this->Speaker_Model->insert_speakerfeedback($data1);
}redirect('speaker/createfeedback');
这是我的模特
public function insert_speakerfeedback($data1){
$this->db->insert("speakerdata", $data1);
}
答案
修改你的for
循环:
for($i = 0; $iinput->post('check')); $i++){
改为使用foreach
:
foreach ($this->input->post('check') as $i => $value) {
因此,如果您跳过某个复选框,它将阻止获取未定义的索引。并且重定向线应该在循环之外。
对于批量插入,您可以使用insert_batch
函数。
在循环内,更改:
$data1 = array(
至
$data1[] = array(
所以它不会覆盖每次迭代。
在模型上,更改:
$this->db->insert("speakerdata", $data1);
至 :
$this->db->insert_batch("speakerdata", $data1);