【发布时间】: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