![](/img/trans.png)
[英]How to populate a jquery datatable using server side processing (PHP)?
[英]jQuery Datatable - server side processing data pagination using Php
我对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
我无法解决此问题。 抱歉,如果我的问题很奇怪。有谁能帮助我解决这个问题。 谢谢
您必须分别以开始和长度(例如$ _GET ['start'])作为偏移量和限制,然后在查询中应用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.