使用$ insert_id更新两个表 - codeigniter

时间:2013-05-01 09:26:03

标签: php mysql codeigniter sql-update insert-id

有没有办法可以使用insert_id之类的东西来更新表单输入? 我有一个用于向表添加工厂的表单,我在提交后也使用insert_id将工厂ID存储在另一个表中。

这一切都很有效,但有没有这样的方式来$ this-> db->更新?

我的更新模型:

function updatebedrijf($id, $data)
{
    $this->db->where('idbedrijven', $id);
    $this->db->update('bedrijven', $data); 
}

我的控制器更新功能:

function updatebedrijven()
{
    $dbres = $this->db->get('categorieen');
    $ddmenu = array();
    foreach ($dbres->result_array() as $tablerow) {
        $ddmenu[$tablerow['idcategorieen']] = $tablerow['Categorie'];       
    }
    $data['opties'] = $ddmenu;

    $data['info'] = $this->members_model->getbedrijf($id); 
    $data['id'] = $this->uri->segment(3);
    $this->load->view('members/header');
    $this->load->view('members/editform', $data);
    $this->load->view('members/footer');    
}

用于添加工厂我使用insert_id:

控制器:

function addbedrijven()
{
    $this->members_model->addbedrijf();
    redirect('members/index');
}

模型:

function addbedrijf() 
{ 
    $data1 = array( 
        'Bedrijfsnaam' => $this->input->post('Bedrijfsnaam'), 
        'Postcode' => $this->input->post('Postcode'), 
        'Plaats' => $this->input->post('Plaats'), 
        'Telefoonnummer' => $this->input->post('Telefoonnummer'), 
        'Email' => $this->input->post('Email'), 
        'Website' => $this->input->post('Website'), 
        'Profiel' => $this->input->post('Profiel'), 
        'Adres' => $this->input->post('Adres'), 
        'logo' => $this->input->post('logo') 
    ); 
    $this->db->insert('bedrijven',$data1); 

    if($this->db->affected_rows() >= 1) 
    { 
    $to_bedrijfcategorieen['idbedrijven'] = $this->db->insert_id();
    $to_bedrijfcategorieen['idcategorieen'] = $this->input->post('categorieen');

    $this->insert_bedrijfcat($to_bedrijfcategorieen); 
    }else{ 
    return FALSE;
    } 
} 

function insert_bedrijfcat($data1) 
{ 
    $this->db->insert('bedrijfcategorieen', $data1); 

    return $this->db->affected_rows() >= 1 ? TRUE : FALSE; 
}

希望它足够清楚。

0 个答案:

没有答案