June 15th, 2007 PHP Pagination with mysqli
I’m asked pretty regularly for help with pagination in PHP. I have a nice mysqli pagination class that I use. Once it’s implemented, it is used like this:
/** * $db is your mysqli connection * $query is your query * 'mailPage' is the $_GET variable to use for the pages. It defaults to 'page' but using different values lets you have separate * paginated data on that same web page. Setting multiple paginated items on the same webpage to the same "page" variable * will mean that when one goes to page two, all of them go to page 2. */ // Require the class require_once('paginate.class.php'); // Lets not use your normal SELECT * FROM table query...just to show it still works $query = <<<EOQ SELECT `mail`.`id`, `mail2`.`read`, `mail2`.`seen`, `mail`.`from`, `mail`.`sent`, `mail`.`subject`, `mail`.`body`, `users`.`full_name` as from_name FROM `mail` JOIN `users` ON (`mail`.`from` = `users`.`id`) JOIN `mail2` ON (`mail`.`id` = `mail2`.`mess_id`) WHERE `mail2`.`uid`=1 && `mail2`.`folder`=1 ORDER BY `mail`.`sent` DESC EOQ;
// Create our paginate object, and pass it the database, query, and page var
$paginate = new Paginate($db, $query, ‘mailPage’);
// Run the query
$r = $paginate->get_results();
// Loop through our results
while ($message = $r->fetch_object()) {
// Create your page of information
}
// Show the page links
echo $paginate->show_pages();
Read the rest of PHP Pagination with mysqli »
Attached Files:
- Paginate Class
mysqli paginate class v 1.0.4