嗨,我遇到了一个问题,当我从动态加法表中插入一些值,然后它用循环插入。
但是我想尽可能一次插入我所有的数组。
这是我的模型:
$id=$this->input->post('id');
$rank=$this->input->post('rank');
$name=$this->input->post('name');
$mob=$this->input->post('mob');
$count = count($this->input->post('id'));
$data = array();
for($i=0, $i>$count; $i++) {
$data[] = array(
'id'=> null,
'pers_no' => $id[$i],
'rank' => $rank[$i],
'name' => $name[$i],
'mobile' => $mob[$i],
'vendor_id' => $vendor[$i],
);
$result = $this->db->insert_batch('workers_tbl', $data);
}发布于 2017-03-11 14:17:36
$id=$this->input->post('id');
$rank=$this->input->post('rank');
$name=$this->input->post('name');
$mob=$this->input->post('mob');
$count = count($this->input->post('id'));
$data = array();
for($i=0, $i>$count; $i++) {
$data[] = array(
'id'=> null,
'pers_no' => $id[$i],
'rank' => $rank[$i],
'name' => $name[$i],
'mobile' => $mob[$i],
'vendor_id' => $vendor[$i],
);}
$result = $this->db->insert_batch('workers_tbl', $data); 请尝试,这可能是您的工作....
将您的insert_batch查询放在循环之外的操作完成。我只有一次改变并保持不变..
发布于 2017-03-11 13:11:38
您正在插入一条记录,这不称为批量插入。只需创建一个数组并插入记录。在你的模型函数中
public function insert_record($data)
{
$record=array(
'pers_no' => $data['id'],
'rank' => $data['rank'],
'name' => $data['name'],
'mobile' => $data['mobile'],
);
$this->db->insert('workers_tbl',$record);
}您可以通过执行以下操作来保护您的输入
$this->db->escape($data); // before creating the record array在控制器中,只需在将post存储在某个变量中后调用此函数,例如
public function insert_worker()
{
if($_POST)
{
$data=$this->input->post();
$this->model_name->insert_record($data);
}
}如果您想创建一个包含多个记录的巨大数组。Read this
发布于 2018-10-05 01:51:15
$id=$this->input->post('id');
$rank=$this->input->post('rank');
$name=$this->input->post('name');
$mob=$this->input->post('mob');
$count = count($this->input->post('id'));
$data = array();
for($i=0, $i>$count; $i++) {
$data[] = array(
'pers_no' => $id[$i],
'rank' => $rank[$i],
'name' => $name[$i],
'mobile' => $mob[$i],
'vendor_id' => $vendor[$i],
);
}
$result = $this->db->insert_batch('workers_tbl', $data);https://stackoverflow.com/questions/42731576
复制相似问题