使用codeiginiter更新多个表单

时间:2017-01-22 15:13:02

标签: php codeigniter

我想使用codeginiter为多个用户更新数据,我使用了下面的脚本,但它只为一个用户更新

<?php echo form_open(base_url() . 'get/save_payment', array('role' => 'form')); ?>
<?php foreach ($mature as $key => $value) { ?>
    <input type="text" class="form-control" value="<?php echo $value->id; ?>" readonly name="id[]">
    <input type="text" class="form-control" value="<?php echo $value->name; ?>" readonly name="name[]">
    <input type="text" class="form-control" value="0" readonly name="amount[]">
<?php } ?>
  <button type="submit" class="btn btn-success">Confirm Request</button>
<?php echo form_close(); ?>

CONTROLLER

public function save_payment() {
    $this->load->library('form_validation');
    $this->form_validation->set_rules('id[]', 'id', 'required|trim');
    $this->form_validation->set_rules('name[]', 'name', 'trim');
    $this->form_validation->set_rules('amount[]', 'Amount', 'required|max_length[4]|trim|strip_tags');

    if ($this->form_validation->run() == FALSE) {
        $this->session->set_flashdata('id', set_value('id'));
        $this->session->set_flashdata('name', set_value('name'));
        $this->session->set_flashdata('amount', set_value('amount'));
        $this->payment();
    } else {

        $id = set_value('id[]');
        $data['amount'] = set_value('amount[]');
        $data['name'] = set_value('id[]');

        $this->dashboard->update_ph($data,$id);
    }
}

MODEL

public function update_ph($data,$id)
{
    $this->db->where('id', $id);
    $this->db->update('gw_ph', $data);
}

请解释我如何能够完成此代码并使其正常运行。 谢谢

1 个答案:

答案 0 :(得分:0)

Codeigniter使用'name'attributte从'input'获取数据,并使用相同的'name'attributte进行所有readonly输入