DataTables Jquery プラグインでCodeigniterを使用しています。
テーブルに表示するレコードは約 3000 行あります (postgresql を使用しています)。しかし、最初にレコード全体をロードしたくありません (ページのロードが遅くなります)。その代わり。私はそれをいくつかのページに分けて、ユーザーが次のボタンを押したときにユーザーのアクションに従ってロードすることを好みます。作成したコードに苦労しましたが、表の下部に「NaN エントリの 1 ~ 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>
アドバイスはありますか?本当にありがとうございました。:-)