【发布时间】:2019-09-15 20:32:04
【问题描述】:
我有一个视图文件,我在其中生成一些基于数据库获取操作的输入字段。我正在尝试为参加考试的学生获得分数。这些学生是动态填充的,这里是视图文件的代码。
查看
<?php if($this->session->flashdata('info')) { ?>
<div class="alert alert-info">
<?php echo $this->session->flashdata('info'); ?>
</div>
<?php } ?>
<?php echo form_open('dashboard/insert_marks'); ?>
<?php foreach($entries as $ent) { ?>
<div class="row">
<div class="col-2">
<div class="form-group">
<label><?php echo ($ent->id); ?></label>
<input type="text" name="id" class="form-control" placeholder="N/A" disabled>
</div>
</div>
<div class="col-10">
<div class="form-group">
<label><?php echo ($ent->student_name); ?></label>
<input type="text" name="marks" class="form-control">
</div>
</div>
</div>
<?php } ?>
<button type="submit" name="save" value="Save Data" class="btn btn-primary">Submit</button>
<?php echo form_close(); ?>
控制器
在控制器中,我试图创建一个数组数组,以便我可以在 Codeigniter update_batch 函数的帮助下一次插入所有这些值。我在下面粘贴了控制器文件的代码。
public function insert_marks() {
$this->load->model('Marks_Model');
if($this->input->post('save'))
{
$idlist[] = $this->input->post('id');
$marklist[] = $this->input->post('marks');
$marks_data = array(array());
for($x = 0; $x < sizeof($idlist); $x++){
$marks_data[] = array(
'id' => $idlist[$x],
'marks' => $marklist[$x]
);
}
$this->Marks_Model->update_marks($marks_data);
$this->session->set_flashdata('info','Marks Updated Successfully');
redirect($_SERVER['HTTP_REFERER'],'refresh');
}
型号 在模型中,我调用了 update_batch 以插入数组中的所有 dtaa。这是我第一次使用 update_batch。
public function update_marks($marks_data) {
$this->db->update_batch('marks',$marks_data,'id');
}
错误
我有一个错误“提交用于批量更新的一个或多个行缺少指定的索引。”
我不知道出了什么问题。任何帮助表示赞赏。
【问题讨论】:
标签: model-view-controller codeigniter-3 crud