我在codeigniter 2.2项目中使用数据表,我必须添加一些新的功能。在json响应中没有发回任何数据。正在执行的查询是:
SELECT SQL_CALC_FOUND_ROWS reference, narration, accountnumber, bank_name bank, amount FROM (`vb`) JOIN `bank_data` ON `bank_data`.`bank_code` =`vb`.`destinationcode` LIMIT 0
问题是limit
参数的值为0
以下代码段显示了获取分页所需的限制值的代码,因为我的大型数据集超过22000条记录:
// Paging
if(isset($iDisplayStart) && $iDisplayLength != '-1')
{
$this->db->limit($this->db->escape_str($iDisplayLength), $this->db->escape_str($iDisplayStart));
}
$iDisplayStart
和$iDisplayLength
参数来自
$iDisplayStart = $this->input->get_post('iDisplayStart', true);
$iDisplayLength =$this->input->get_post('iDisplayLength', true);
挑战在于这些值未发布到服务器端脚本
我的回答JSON是:
{sEcho: 0, iTotalRecords: 23048, iTotalDisplayRecords: 0, iDisplayLength: false, iDisplayStart: false,…}
从上面可以看出,iDisplayLength
和iDisplayStart
都是false,因此会导致select语句中的限制值为0
我的html初始化数据表是
$('#datatable_tabletools').dataTable({
"bServerSide":true,
"bProcessing": false,
"sServerMethod": "POST",
"iDisplayLength": 25,
"iDisplayStart":0,
// Load data for the table's content from an Ajax source
"ajax":{'url':"<?php echo APP_URL.'/index.php/payments/getTable2';?>",
'type':'POST',},
"aoColumns": [
{ "data": "reference" },
{ "data": "narration" },
{ "data": "accountnumber" },
{ "data": "amount" },
{ "data": "bank_name" }
],
设置$iDisplayStart
和$iDisplayLength
参数但未发布,我该如何纠正?感谢
答案 0 :(得分:-1)
{
render: function (data, type, row, meta)
return meta.row + meta.settings._iDisplayStart + 1;
}