服务器分页几点思考
由网站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. 通过这几方面集合起来解决这个问题。
浙公网安备 33010602011771号