【发布时间】:2018-10-01 10:42:38
【问题描述】:
我有一个数据表,我的 jquery 如下,
$('#example').DataTable({
"lengthMenu": [[10,15,20,25,-1], [10,15,20,25,'All']],
"processing": true,
"serverSide": true,
ajax: {
url: 'url2',
dataSrc: 'data'
},
columns: [
{ data: 'column1' },
{ data: 'column2' },
{ data: 'column3' },
{ data: 'column4' },
{ data: 'column5' },
{ data: 'column6' }
]
});
这工作正常。唯一的问题是虽然它显示了分页链接,但它们不可点击,并且所有行都显示在第一页本身。
例如。如果有 100 行,则生成的链接为 1-10,但所有 100 条记录都显示在第一页本身上。
我已经推荐了,
https://datatables.net/examples/data_sources/server_side
我在这里做错了什么?
谢谢你的建议
服务器端代码 -
$total_records = $this->model2->getTotal();
$query['results'] = $this->model1->get_Data();
$data = array('data' => $query['results'],
"draw" => (isset($_REQUEST["draw"]) ? $_REQUEST["draw"] : 0),
"recordsTotal" => $total_records,
"recordsFiltered" => $total_records
);
echo json_encode($data);
我想我知道我做错了什么, 当我在我的 php 代码中打印 $_GET 时,它是空的。但它应该有限制和偏移值。 如何在 $_GET 中发送限制偏移量?
【问题讨论】:
-
似乎在开始的请愿书中您返回了所有行。考虑到如果您使用此方法,服务器是否需要返回您要显示的行,并且是告诉数据表插件是否会有更多页面的服务器。所以我在考虑你在服务器端有问题
-
感谢您的回答。我是否需要包含教程中提到的 ssp.php.class,它将决定返回多少行,或者我必须在查询中应用限制偏移量?你能指导我完成前一个案例吗...我正在使用 codeigniter 框架...再次感谢您
-
好吧,实际上它对我来说有点复杂,因为我使用 c# 而不是 php 来指导你。在 C# 中,我必须返回一个 JSON,其中包含数据、总元素数、偏移量等。我不知道它在 PHP 上会如何。
-
好的.. 但我还有一个疑问,如果我不对数据应用任何类型的限制,数据表如何知道将长度为 100 的数据拆分为 10 页,每页包含 10 条记录?因为我也收到一条说“显示 100 条记录中的 1 到 10 条”...
-
数据表只知道因为服务器的回答。尽管您收到消息“显示 100 条记录中的 1 到 10 条”,但我相信您在页面中看到了超过 10 条记录,不是吗?
标签: javascript php jquery datatable