【问题标题】:jQuery Datatable - server side processing data pagination using PhpjQuery Datatable - 使用 PHP 的服务器端处理数据分页
【发布时间】:2015-06-12 01:08:53
【问题描述】:

我遇到了 jquery 数据表分页(服务器端处理)的问题。

例如,我在数据库中有 24 记录。计数显示正确,总分页也正确显示。

当我点击Next or 2nd page时,它会根据显示页面长度显示记录。

此处3rd Page 不显示最后 4 条记录。

这里我的服务器端代码是这样的

$this->db->select("SQL_CALC_FOUND_ROWS user_id,user_name,email", FALSE);

        $this->db->from("users");
     $sTable="users";
        // Data set length after filtering
        $this->db->select('FOUND_ROWS() AS found_rows');
        $iFilteredTotal = $this->db->get('users')->row()->found_rows;

        // Total data set length
        $iTotal = $this->db->count_all($sTable);


        // Output
        $output = array(
            'sEcho' => intval($sEcho),
            'iTotalRecords' => $iTotal,
            'iTotalDisplayRecords' => $iFilteredTotal,
            'aaData' => array()
        );

这样的客户端代码

$(document).ready(function () {
        $('#data_appraiser').dataTable({
            "bProcessing": true,
            "bServerSide": true,
            "oLanguage": {
                "sProcessing": imgsrc,
            },
            //"aaData": data.aaData,
             "iDisplayLength": 10,
             "aLengthMenu": [
                             [10, 25, 50],
                             [10, 25, 50] // change per page values here
                         ],
                "aaSorting": [[0, 'asc']],
                "sServerMethod": "POST",
                    "sAjaxSource": "appraiserlistajaxdata",

            "sPaginationType": "full_numbers"
            "aoColumns": [
                { "mData": "id" },
                { "mData": "appraiser_name" },
                { "mData": "user_name" }
               ....
            ]        
        });
    });

我检查了$iFilteredTotal总计数。当页面更改时,值为20。如果它在1st page,则值为24。我无法解决这个问题。对不起,如果我的问题很奇怪。任何人都可以帮助我解决这个问题。谢谢

【问题讨论】:

  • 如果您能够在 fiddle 上显示此代码,那么只有我们可以帮助您
  • 渲染表格的客户端代码是什么?
  • @jonmrich。用client side 代码更新问题。请看一下。
  • 我不确定您要解决的问题是什么。您希望每页有多少结果?只有 24 个,您只需一页即可轻松展示。如果您想要每页的特定数字,请告诉我那是什么。

标签: php jquery datatables jquery-datatables


【解决方案1】:

您必须将开始和长度(如 $_GET['start'])分别作为偏移量和限制并应用于查询。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-30
    • 2018-12-23
    • 1970-01-01
    • 1970-01-01
    • 2016-07-07
    • 2019-11-29
    相关资源
    最近更新 更多