Black Friday sale is now on! 50% off Laravel: The Modular Way. Learn more

Pagination with a PHP class

David Carr

PHP & MySQL Tutorials Development

    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 Book by David Carr

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

    Subscribe to my newsletter

    Subscribe and get my books and product announcements.

    © 2009 - 2022 DC Blog. All code MIT license. All rights reserved.