2012-05-27 32 views
0

我使用Codeigniter和dataTables Jquery插件。如何使用codeigniter和数据表创建serverside数据表Jquery插件

我有大约3000行记录要显示在表中(我使用postgresql)。但我不希望整个记录第一次被加载(它会减慢页面加载速度)。代替。我更愿意将它分成几页,并在用户点击下一个按钮时根据用户操作加载它。我与我做的一些代码纠缠不清,但它仍然在表格底部显示“显示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> 

任何意见家伙?我非常感谢你的帮助。 :-)

回答

4

请参考此code。我使用它创建了我的数据表,它工作得很好。如果你有问题,请告诉我。

+4

我认为这是一个更好的例子:http://www.ahmed-samy.com/php-codeigniter-full-featrued-jquery-datatables-part-1/ –

+0

朋友,你能帮我吗? – Angel

+0

它如何适用于加入模型的结果????。请帮帮我 – Angel