首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用带codeigniter的ajax datatable显示数据

使用带codeigniter的ajax datatable显示数据
EN

Stack Overflow用户
提问于 2017-12-18 21:47:31
回答 2查看 1.8K关注 0票数 0

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

这是我的控制器:

代码语言:javascript
运行
复制
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');  
        }

}
EN

回答 2

Stack Overflow用户

发布于 2017-12-18 22:03:02

你的问题可能出在循环部分,每次循环经过这一行时,你并没有重置变量,而是将一个新的数组附加到$tab中,你应该使用$tab = array();来重置变量,并在最后使用$data[] = $tab;$tab数据附加到$data变量中。

代码语言:javascript
运行
复制
 $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
EN

Stack Overflow用户

发布于 2017-12-18 23:33:48

好的,谢谢,但是我保留了另一个警告: DataTables警告:表id=users -请求的行0,列6的未知参数'6‘。有关此错误的更多信息,请参见http://datatables.net/tn/4

这是我的观点:

代码语言:javascript
运行
复制
<table class="display responsive no-wrap table table-striped table-bordered table-hover table-checkable order-column dataTable no-footer" id="users" width="100%">
                                            <thead>
                                                <tr>
                                                    <th>Nom</th>
                                                    <th>Prenom</th>
                                                    <th>E-mail</th>              
                                                    <th>Date de creation</th>
                                                    <th>Téléphone</th>               
                                                    <th>Droit</th>
                                                     <th>Modifier</th>
                                                    <th>Supprimer</th>
                                                </tr>
                                            </thead>

                                        </table>
<script type="text/javascript">
        $('document').ready(function() {

            let mouvementTable =  $("#users").DataTable({
                                 buttons: [{
                        extend: "print",
                        className: "btn dark btn-outline"
                    },  {
                        extend: "pdf",
                        className: "btn green btn-outline"
                    }, {
                        extend: "excel",
                        className: "btn yellow btn-outline "
                    }, {
                        extend: "csv",
                        className: "btn purple btn-outline "
                    }],


                "ajax": {
                    url : "http://localhost/logistock/index.php/ControllerUser/listUser",
                    "type": "POST"
                },

                order: [[ 1, 'asc' ]],
                 "select": {
                     "style":    'multi',
                    "selector": 'td:first-child'
                 },
               "dom": "<'row' <'col-md-12'B>><'row'<'col-md-6 col-sm-12'l><'col-md-6 col-sm-12'f>r><'table-scrollable't><'row'<'col-md-5 col-sm-12'i><'col-md-7 col-sm-12'p>>",

                "lengthMenu": [[5, 10, 15, 20, -1], [5, 10, 15, 20, "All"]],
                "language": {
                    "url": "//cdn.datatables.net/plug-ins/9dcbecd42ad/i18n/French.json"
                }



            });  

        });


    </script>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47869870

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档