服务器分页几点思考

由网站https://datatables.net/examples/server_side/simple.html的例子中的服务器端返回的数据格式:

服务器模式示例数据格式(Example data)

服务器模式处理的例子,返回数组作为数据源 , 完整例子
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{
    "draw": 1,
    "recordsTotal": 57,
    "recordsFiltered": 57,
    "data": [
        [
            "Angelica",
            "Ramos",
            "System Architect",
            "London",
            "9th Oct 09",
            "$2,875"
        ],
        [
            "Ashton",
            "Cox",
            "Technical Author",
            "San Francisco",
            "12th Jan 09",
            "$4,800"
        ],
        ...
    ]
}
服务器模式例子,返回
 
由上述图中的返回数据的前面几个返回的datatables的关键参数(分页的元数据),客户端才能显示一种多少页,目前查询哪页,这些关键参数后面是返回的分页的具体数据,由此,以下是摘录的服务器端的php的最后返回数据的代码:
$output['sEcho'] = $sEcho;
if ($search) {//如果有全局搜索,搜索出来的个数
    $output['iTotalDisplayRecords'] = $display_total;
} else {
    $output['iTotalDisplayRecords'] = $total;
}
$output['iTotalRecords'] = $total; //总共有几条数据
$output['aaData'] = $aaData;

echo json_encode($output); //最后把数据以json格式返回
其中前面几行就是即将返回的分页的元数据。

另外,根据spring+mybatis的疯狂软件的书上的动态分页查询用的是selet limit. 通过这几方面集合起来解决这个问题。
posted @ 2018-02-04 22:34  searain  阅读(424)  评论(0)    收藏  举报