使用带有codeigniter的ajax数据表显示数据

问题描述 投票:0回答:2

我想使用ajax在我的视图中显示数据库中的数据。但是我收到了这条消息:DataTables警告:table id = users - 第0行第0列请求的未知参数'0'。有关此错误的更多信息,请参阅http://datatables.net/tn/4

这是我的控制器:

public function listUser(){
     if ($this->session->userdata("success"))
        {

            // les Variables de datatable
           //
           $draw = intval($this->input->post("draw"));
           //
           $start = intval($this->input->post("start"));
           $length = intval($this->input->post("length"));
         $user = $this->UserModel->getUsers();
         $data = array();
         foreach( $user as $r) {        
                                        $tab[] = array();
                                        $tab[] =    $r->username;
                                        $tab[] =$r->usersurname;
                                        $tab[] =$r->useremail;
                                        $tab[] =$r->date_create;
                                        $tab[] =$r->Num_tel;
                                        $tab[] =$r->userright;                                                              
                                        $tab[] = '<button type="button" name="update" id="'.$r->user_id.'" class="btn btn-warning btn-xs update">Modifier</button>';  
                                        $tab[] = '<button type="button" name="delete" id="'.$r->user_id.'" class="btn btn-danger btn-xs delete">Supprimer</button>';  
                                       $data = $tab;
                            }

                            $output = array(
                                "draw" => $draw,
                                    "recordsTotal" => count($user),
                                    "recordsFiltered" => count($user),
                                    "data" => $data
                                );

                            echo json_encode($output);
                            exit();

                        }
//    $this->load->view('users/listUser',['user'=>$user]);
   //     }
     else
        {
            return redirect('Login');  
        }

}
php html ajax
2个回答
0
投票

你的问题可能在循环部分,每次循环传递到这行$tab[] = array();你没有重置变量但实际上将一个新数组附加到$tab,你应该使用$tab = array();重置变量,最后$data[] = $tab;追加$tab数据到$data变量。

 $data = array();
 foreach( $user as $r) {        
    $tab = array();
    $tab[] = $r->username;
    $tab[] = $r->usersurname;
    $tab[] = $r->useremail;
    $tab[] = $r->date_create;
    $tab[] = $r->Num_tel;
    $tab[] = $r->userright;                                                              
    $tab[] = '<button type="button" name="update" id="'.$r->user_id.'" class="btn btn-warning btn-xs update">Modifier</button>';  
    $tab[] = '<button type="button" name="delete" id="'.$r->user_id.'" class="btn btn-danger btn-xs delete">Supprimer</button>';  
    $data[] = $tab;
}

0
投票

好的,谢谢,但我收到另一个警告:DataTables警告:table id = users - 第0行第6列请求的未知参数'6'。有关此错误的更多信息,请参阅qazxsw poi

这是我的看法:

http://datatables.net/tn/4
© www.soinside.com 2019 - 2024. All rights reserved.