我正在尝试以最简洁的方式在codeigniter中执行update_batch
。我的表单由一个循环组成,我在其中生成一组输入字段,这些字段将影响val
数据库的extra_config
列:
<?php echo form_open('config/edit') ?>
<table>
<?php foreach ($config_by_page[$i] as $config_item): ?>
<tr class="config-row">
<td><?php echo $config_item['description'] ; ?></td>
<td class="edit"><input required data-id="<?php echo $config_item['id'] ?>" name="val" value="<?php echo $config_item['val'] ; ?>"></input></td>
</tr>
<?php endforeach; ?>
</table>
</form>
现在 - 我有行的id,每个“val”应该绑定到存储在数据属性data-id
中,因为我不确定如何做update_batch()
并且有val插入到相应的表行中。
这是我的控制器:
$data = $this->input->post(NULL, TRUE);
$this->config_model->edit_config($data);
这是我的模特:
public function edit_config($data){
$this->db->update_batch('extra_scenarios', $data,'id');
}
如何最简洁地包含批量更新应发布到的行的ID?我不想手动制作大数据阵列,因为我需要更新近100个不同的行。
答案 0 :(得分:1)
您可以更改输入字段名称,如下所示,您将在提交时获得配置数组:
<input required name="config[<?php echo $config_item['id'];?>]" value="<?php echo $config_item['val'] ; ?>"/>
答案 1 :(得分:0)
这是问题
name="val"
这应该是一个数组
name="val[]"