我正在将 Codeigniter 与dataTables Jquery 插件一起使用。
我有大约 3000 行要显示在表中的记录(我正在使用 postgresql)。但我不希望第一次加载整个记录(它会减慢页面加载速度)。反而。我更喜欢将它分成几个页面并在用户点击下一步按钮时根据用户操作加载它。我对我制作的一些代码感到困惑,但它仍然在表格底部显示完整的记录,其中“显示 1 到 NaN 的 NaN 条目(从 NaN 总条目中过滤)”。这是我的代码。
控制器:
<?php
class Testdata extends CI_Controller
{
function __consrtuct()
{
parent::__consrtuct();
}
function index()
{
$this->load->view('vtestdata');
}
function getData()
{
$this->load->model('mtestdata');
$result = $this->mtestdata->getDatax();
echo json_encode($result);
}
}
该模型:
<?php
class Mtestdata extends CI_Model
{
function __construct()
{
parent::__construct();
}
function getDatax()
{
//output
$output = array(
"aData" => array()
);
$this->db->select('nik, user_name');
$query=$this->db->get('t_mtr_user');
$output["aData"] = $query->result();
return $output;
}
}
风景:
<head>
<script type="text/javascript" src="<?php echo base_url();?>/assets/media/js/jquery.js"></script>
<script type="text/javascript" src="<?php echo base_url();?>/assets/media/js/jquery.dataTables.js"></script>
<script type="text/javascript" src="<?php echo base_url();?>/assets/jqueryUI/js/jquery-ui-1.8.20.custom.min.js"></script>
<script type="text/javascript">
$( document ).ready( function() {
$('#testTable').dataTable({
"bJQueryUI": true, //UI
"sAjaxSource": "<?=base_url();?>index.php/testdata/getData", //datasource
"sAjaxDataProp": "aData", //menentukan array/json dibaca dari mana
"bServerSide": true, //serverside , ini yg bermasalah, kalo di delete beres gak ada error, tapi gak SSP
"bProcessing": true,
"aoColumns":[ //tentukan kolom pd tabel dan value nya
{"mDataProp": "nik", "sTitle": "NIK"},
{"mDataProp": "user_name", "sTitle": "Username"}
]
});
});
</script>
<link rel="stylesheet" type="text/css" href="<?php echo base_url();?>/assets/jqueryUI/css/custom-theme/jquery-ui-1.8.20.custom.css">
</head>
<body>
<div>
<h1>test</h1>
<table id="testTable">
<thead>
<!--
<tr>
<th>nik</th>
<th>User name</th>
</tr>
-->
</thead>
<tbody>
<!--
<td></td>
<td></td>
-->
</tbody>
</table>
</div>
</body>
有什么建议吗?我真的很感谢你的帮助。:-)