📡 You're offline — showing cached content
New version available!
Quick Access
Tutorials Zend Framework / Laminas Laminas Paginator

Laminas Paginator

4 min read
Paginate database results with Laminas Paginator using DbSelect adapter and view helpers.

Pagination

use LaminasPaginatorPaginator;
use LaminasPaginatorAdapterDbSelect;
use LaminasPaginatorAdapterArrayAdapter;

// DB-backed paginator
$select    = $sql->select("posts")->order("created_at DESC");
$adapter   = new DbSelect($select, $adapter);
$paginator = new Paginator($adapter);

$paginator->setCurrentPageNumber((int)($params["page"] ?? 1));
$paginator->setItemCountPerPage(10);
$paginator->setPageRange(5);

// In view model
return new ViewModel(["paginator" => $paginator]);

// In view template
<?= $this->paginationControl($paginator, "Sliding", "pagination/default") ?>

// Array paginator
$paginator = new Paginator(new ArrayAdapter($dataArray));

// Current page items
foreach ($paginator as $item) {
    echo $item["title"];
}

echo "Total: " . $paginator->getTotalItemCount();
echo "Pages: " . $paginator->count();