2016-05-14 62 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