使用ajax更新无法在数据表和codeigniter上运行

时间:2019-06-17 20:46:53

标签: php ajax codeigniter datatable

!我的更新无法正常进行,但我在其网站上使用了相同的代码。 https://mbahcoding.com/tutorial/php/codeigniter/codeigniter-ajax-crud-modal-server-side-validation.html

我在网络预览中的更新镶边

enter image description here

网络预览中的示例网站更新镶边

enter image description here

这是有关网络响应的Ajax更新。 enter image description here

我尝试使用常规方法,但总是会出错。

控制器...

 public function ajax_update()
{

    $data = array(
            'book_title' => $this->input->post('book_title'),
            'book_isbn' => $this->input->post('book_isbn'),
            'book_yop' => $this->input->post('book_yop'),
            'book_active' => $this->input->post('book_active'),
            'author_name' => $this->input->post('author_name'),
             'publisher_name' => $this->input->post('publisher_name'),
        );
  $this->user_model->update_book(array('book_id' => $this->input->post('book_id')), $data);
    echo json_encode(array("status" => TRUE));

}

模型..........

public function update_book($data, $where)
{    

       $this->db->update('books',$data,$where);
         return $this->db->affected_rows();

}

如果我print_r($ data);自爆是结果。我认为我的问题是数据没有传递到数据库。 enter image description here

1 个答案:

答案 0 :(得分:0)

您的更新调用参数相反。根据您的update_book模型函数,第一个参数是要更新的数据数组,第二个参数是where数组。但是,$this->user_model->update_book(array('book_id' => $this->input->post('book_id')), $data);在这里,您先在位置,然后在数据上。

应该是:

$this->user_model->update_book($data, array('book_id' => $this->input->post('book_id')));