当前位置: 首页 > 知识库问答 >
问题:

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

卞嘉许
2023-03-14

我想使用Ajax在我的视图中显示来自数据库的数据。但我收到了这样一条消息:DataTables warning:table ID=users-requested未知参数'0'for行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');  
        }

}

共有2个答案

杨甫
2023-03-14

好的,谢谢,但我收到另一个警告:DataTables警告:table id=users-requested未知参数'6'用于行0,列6。有关此错误的详细信息,请参阅http://datatables.net/TN/4

以下是我的看法:

<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>
海嘉赐
2023-03-14

您的问题可能出在循环部分,每次循环通过这一行 时,您不是重置变量,而是实际上将一个新数组追加到 ,您应该使用 重置变量,并最终使用 数据追加到 变量。

 $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;
}
 类似资料:
  • 我有一张产品表。我需要展示所有的产品。我在不同的条件下获取结果。 我需要像这样展示结果 所有结果都应以分页方式显示。如果我先得到结果就可以了。但是如果我使用分页链接,所有条件数据都将丢失,查询将不带任何条件地获取结果。我如何处理这种情况。请我不需要代码,我需要提示和建议。另一件事是我正在使用Codeigniter的分页类。 编辑过 这是我正在使用的模型方法

  • 本文向大家介绍使用PHP CodeIgniter记录插入和显示,包括了使用PHP CodeIgniter记录插入和显示的使用技巧和注意事项,需要的朋友参考一下 让我们以员工管理为例, 步骤1:首先,您必须在数据库中以“ EmployeeManager”的形式创建新模式。在此架构中,创建表名称Employee并在其中添加以下字段。 您在这里准备好餐桌了。 第2步:现在您已经准备好数据库,是时候制作C

  • 问题内容: 我喜欢在PHP中使用Codeigniter Framework和JQuery AJAX上传图像,而无需重定向页面。当我上传图像时,它重定向到控制器区域,并且值未插入数据库,ajax响应也不会出现, 任何人都可以解决我的问题吗? 这是我的视野。 这是我的Ajax编码 这是我的控制器编码… 这是我的模型编码 问题答案: 试试这个。 工作正常 -HTML表单- 阿贾克斯- 只需在ajax中设

  • 问题内容: 我在显示从数据库到下拉列表的数据时遇到了困难。 这是我尝试过的: 模型.php Controller.php View.php 但是结果显示在我的页面顶部。它没有出现在下拉列表中。我在这里做错了什么?非常感谢您的帮助。谢谢。 问题答案: 您不应该从视图中调用模型。而是在加载视图之前尝试调用模型和设置。 也不要在模型中回显行结果,除非您希望将其显示在页面上。 控制器: 模型: 视图:

  • 本文向大家介绍codeigniter显示所有脚本执行时间的方法,包括了codeigniter显示所有脚本执行时间的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了codeigniter显示所有脚本执行时间的方法。分享给大家供大家参考。具体分析如下: 如果你想显示所有脚本的执行时间,请将下面的代码加入到view里面 也可以使用下面的伪变量 希望本文所述对大家基于codeigniter的p

  • 问题内容: 我有一个使用浮点参数的函数(通常是整数或具有一位有效数字的十进制数),我需要将输出的值输出到具有两位小数的字符串中(5-> 5.00、5.5-> 5.50等)。如何在Python中执行此操作? 问题答案: 由于这篇文章可能会在这里出现一段时间,因此我们还要指出python 3语法: