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

Laravel Modules Your Logo Your Logo Your Logo

Become a sponsor

Help support the blog so that I can continue creating new content!

Sponsor

My Latest Book

Modular Laravel Book - Laravel: The Modular way

Learn how to build modular applications with Laravel Find out more

Subscribe to my newsletter

Subscribe and get my books and product announcements.

Fathom Analytics $10 discount on your first invoice using this link

© 2006 - 2024 DC Blog. All code MIT license. All rights reserved.