2016-06-08 128 views
1

我有一个表单,它从数据库中检索值并通过提交表单来更新它。更新Codeigniter形式 - 刷新

第一次当我访问该页面时,它会检索值,但如果我通过表单更新值,则只有在手动刷新页面后才会检索新值。 如何自动刷新它?另外,如果我正在访问该页面,而不是执行更新并刷新它,则会删除所有内容,包括数据库中的值。

这是控制器:

public function edit_profile() 
{ 

    $id=$_SESSION['user_id']; 
    $this->load->model('retrieve'); 

    $upd = array 
    (
    'Name' => $this->input->post('name'), 
    'surname' => $this->input->post('surname'), 
    'Id_loc' => $this->input->post('id_loc') 
    );   

    $data['info']=$this->retrive->select_Info($id);   
    $this->retrieve->update_info($id,$upd); 
    $this->load->view('edit_profile', $data); 

}

这是模型:

function update_info($id,$data){ 
    $this->db->where('id', $id); 
    $this->db->update('users', $data); 
}  

回答

6

您的代码将是这样的:有两个功能

 public function edit_profile() 
      { 

       $id=$_SESSION['user_id'];   

       $data['info']=$this->retrive->select_Info($id);   
       $this->load->view('edit_profile', $data); 
     } 

    public function saveUpdate() 
    { 
    $id=$_SESSION['user_id']; 
       $this->load->model('retrieve'); 

       $upd = array 
       (
       'Name' => $this->input->post('name'), 
       'surname' => $this->input->post('surname'), 
       'Id_loc' => $this->input->post('id_loc') 
       ); 
    $update = $this->retrieve->update_info($id,$upd); 
if($update) 
{ 
redirect('YURCTRLER/edit_profile'); 
} 
    } 
+0

现在它工作:)非常感谢! – rooger

+0

欢迎您随时@rooger – Dunco

5

添加以下代码到你的控制器更新后完成:

redirect($this->uri->uri_string()); 

redirect('YOURCONTROLLER/edit_profile', 'refresh'); 

删除的情况下,您提供我认为代码是不够的,推断的问题:-(

+0

好吧..如果我想第一个我得到的“本地主页不工作”的错误,第二个是无限刷新 – rooger

+0

我知道为什么第二个是一个无限循环。将编辑/更新代码放在一个新函数中,比如saveupdate()并输入更新代码,然后输入if($ this-> retrieve-> update_info($ id,$ upd)){redirect('YOURCONTROLLER/edit_profile') ;}' – Dunco