I\'m having a bit trouble understanding how I implement the DbSelect paginator using the code below (right now i
Here is sample code for pagination in ZF2
adapter = $adapter;
}
public function getPaginatedTableData($tableName, $whereData = "", $selectedColumn = '' , $currentPageNumber = 1) {
$sql = new Sql($this->adapter);
$select = $sql->select();
if ($selectedColumn) {
$select->columns($selectedColumn);
}
$select->from($tableName);
if ($whereData) {
$select->where($whereData);
}
$paginator = $this->getPaginatorForSelect($select, $currentPageNumber);
$resultSet = new ResultSet;
$resultSet->initialize($paginator);
$resultSet->buffer();
$pagination = array(
'current_page_number'=>$currentPageNumber,
'page_count'=>$paginator->getPages()->pageCount,
'previous'=>isset($paginator->getPages()->previous)?$paginator->getPages()->previous:0,
'next'=>isset($paginator->getPages()->next)?$paginator->getPages()->next:0,
);
return ($resultSet && 0 != $paginator->getPages()->pageCount)?array('resultSet'=>$resultSet->toArray(), 'pagination'=>$pagination):FALSE;
}
public function getPaginatorForSelect($select, $page, $limit=2)
{
$paginatorAdapter = new DbSelect($select, $this->adapter);
$paginator = new Paginator($paginatorAdapter);
$paginator->setItemCountPerPage($limit);
$paginator->setPageRange(5);
$paginator->setCurrentPageNumber($page);
return $paginator;
}
}
HTH