cnizzardini / cakephp-datatable

CakePHP Component for interoperability between CakePHP 2.x and jQuery DataTables plugin.
62 stars 49 forks source link

Pagination not working ?? #12

Closed harrispriambudi closed 10 years ago

harrispriambudi commented 10 years ago

Im using cnizzdotcom cakephp-datatable to implement datatables server-side method..

first, I thought it was succesed but when I try the paginate button its not working.. for example I only display id field from my table on datatables, second page the json data is

{"sEcho":4,"iTotalRecords":9889,"iTotalDisplayRecords":9889,"aaData":[["24"],["25"],["26"],["27"],["28"]]}

and when I use to push third page, the data not changed like pagination work as usually

{"sEcho":11,"iTotalRecords":9889,"iTotalDisplayRecords":9889,"aaData":[["24"],["25"],["26"],["27"],["28"]]}

this is my controller :

class Kasbon2Controller extends AppController 
{
var $ext = '.php';
public $helpers = array ('Html', 'Form', 'Js', 'CustomAjax', 'JavascriptValidation', 'CustomContent', 'Paginator');
var $name = 'Kasbon2';
public $components = array('DataTable','Paginator');

public function kasbon_hist_list_serverside()
{
$this->autoRender = false;
$this->paginate=array('fields' => array('Kasbon2.id_kasbon'));
$this->set('response', $this->DataTable->getResponse());
$this->set('_serialize','response');
echo json_encode($this->DataTable->getResponse());
}

}

this my datatables js

<script type="text/javascript">
$(function() {
     $('#virtualFields').dataTable({
        "sPaginationType": "full_numbers",
        "iDisplayLength": 5,
        "bProcessing": true,
        "bServerSide": true,
        "sAjaxSource": "kasbon2/kasbon_hist_list_serverside",
    });
  });
    </script>

assume my table id is right, FYI the sorting and search is working perfectly. Please Anyone can help me?( sorry for my bad english )

harrispriambudi commented 10 years ago

Problem Solved, I changed this code :

$parameters['offset'] = $start; $parameters['limit'] = $length;

into this :

$parameters['offset'] = (int)$start; $parameters['limit'] = (int)$length;

cnizzardini commented 10 years ago

Thanks for posting solution.