2016-06-08 86 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