在Codeigniter中更新多个数据

时间:2019-04-11 04:29:13

标签: php arrays codeigniter sql-update

我有一个名为“ session_kriteria”(英语:会话标准)的表,该表具有3个字段,分别是id_sesi,kode_kriteria(英语:标准代码)和bobot(英语:weight)。 数据开头已经填充了4个,即IPK,KTI,PKD,BI,默认值为“ bobot” = 0。

然后我有表格来更新体重。形式如下: enter image description here

例如,我们按如下所示填写: enter image description here

但是我发现了这样的错误: enter image description here

我的代码是这样的(更新方法):

public function update($id) 
    {
        $row = $this->Sesi_kriteria_model->get_by_id($id);

        if ($row) {
            $data = array(
                'button' => 'Update',
                'action' => site_url('sesi_kriteria/update_action'),
		'id_sesi' => set_value('id_sesi', $row->id_sesi),
        'ambil_data_sesi' => $this->Sesi_kriteria_model->sesi(),
		'kode_kriteria' => set_value('kode_kriteria', $row->kode_kriteria),
        'ambil_semua' => $this->Sesi_kriteria_model->ambil_semua_bid($id),
        'ambil_data_kriteria' => $this->Sesi_kriteria_model->kriteria(),
		'bobot' => set_value('bobot', $row->bobot),
	    );
            $this->template->set('title', 'Ubah Bobot Kriteria');
            $this->template->load('index', 'contents' , 'sesi_kriteria/sesi_kriteria_update', $data);
        } else {
            $this->session->set_flashdata('message', 'Record Not Found');
            redirect(site_url('sesi_kriteria'));
        }
    }

更新的操作方法如下:

    public function update_action() 
    {
        $this->_rules();
        if ($this->form_validation->run() == FALSE) {
            $this->update($this->input->post('id_sesi', TRUE));
        } else {
            $sesi_array = $this->input->post('id_sesi', TRUE);
            $kriteria_array = $this->input->post('kode_kriteria[]', TRUE);
            $bobot_array = $this->input->post('bobot[]', TRUE);
            
            $data=array();
            for($i=0; $i<sizeof($sesi_array); $i++){
                        $dt = array(            
                            'id_sesi' => $this->input->post($sesi_array[$i], TRUE),
                            'kode_kriteria' => $this->input->post($kriteria_array[$i], TRUE),
                            'bobot' => $this->input->post($bobot_array[$i], TRUE),
                        );
                $this->db->replace('bobot', $bobot_array);
                $this->db->where('id_sesi', $sesi_array);
            } 
            $this->db->update('sesi_kriteria', $data, 'id_sesi');
            $this->session->set_flashdata('message', 'Create Record Success');
            redirect(site_url('sesi_kriteria'));
        }

1 个答案:

答案 0 :(得分:0)

您的表列名称是什么? 替换为botbot(0,1,2,3)个值('10','20','30','40') botbot表列表名称是否为0、1、2、3