2016-05-14 61 views
2

嗨,當我想更新我的狀態使用按鈕從非活動通過ajax方法,所以我寫了一些代碼,我不知道它是對還是錯,但狀態不更新更新狀態使用codeigniter

+0

檢查您的AJAX是射擊和發送新的狀態模型 – Poria

+0

你是n不傳遞數據進行更新。 $ this-> db-> update('courses',$ data); //給你未定義的變量$ data。 https://ellislab.com/codeigniter/user-guide/database/active_record.html#update –

回答

1

這應該工作

控制器:

public function update_status(){ 

    $status = $this->input->post('status'); 
    $course_id = $this->input->post('id'); 
    $this->CoursesModel->update_course_status($course_id,$status); 
} 

型號:

public function update_course_status($course_id,$status){ 
    $data['status'] = $status; 
    $this->db->where('course_id', $course_id); 
    $this->db->update('courses',$data); 
} 

腳本:

$(document).on('click','.status_checks',function() 
{ 
var status = ($(this).hasClass("btn-success")) ? '0' : '1'; 
var msg = (status=='0')? 'Deactivate' : 'Activate'; 
if(confirm("Are you sure to "+ msg)) 
{ 
    var current_element = $(this); 
    var id = $(current_element).attr('data'); 
    url = "<?php echo base_url().'index.php/Dashboard/update_status'?>"; 
     $.ajax({ 
      type:"POST", 
      url: url, 
      data: {"id":id,"status":status}, 
      success: function(data) { 
      location.reload(); 
    } }); 
} 
}); 
+0

謝謝dileep它工作非常感謝 – ohmygood

0

我想你應該把在$數據的一些信息,像這樣

$data['status'] = $status; 
$this->db->where('course_id', $course_id); 
$this->db->update('courses', $data); 

希望它解決了這個問題!

+0

感謝poria您的回覆 – ohmygood