Pagination with a PHP class

David Carr

Development Tutorials PHP & MySQL

I've recently wrote a pagination class for php, I used to do this in a procedural way by using functions, it's always worked fine, but its not as reusable as a class is.

I've released this class on Github this tutorial will explain how to use the pagination class.

  • Include the class
  • Create a new instance of the class, set the number of records by page and a reference
  • Then set the total number of records, do this by either setting in manually or by counting records from a dataset
  • Then display the records as normal
  • To show the page links echo page_links() optionally passin 2 parameters the first set the address by default this is ? the second parameter is for any $_GET's you want to pass from page to page.
//include the class
include('paginator.php');

//create new object pass in number of pages and identifier
$pages = new Paginator('10','p');

//get number of total records
$stmt = $db->query('SELECT count(id) FROM table');
$row = $stmt->fetch(PDO::FETCH_NUM);
$total = $row[0];

//pass number of records to
$pages->set_total($total); 

$data = $db->query('SELECT * FROM table '.$pages->get_limit());
foreach($data as $row) {
    //display the records here
}

//create the page links
echo $pages->page_links();

Download the class from Github

Copyright © 2006 - 2024 DC Blog - All rights reserved.