<?php
// Simple Pagination class example
// Normally, you have a php page that do some query to a database of some sort.
//
// You would use this class to provide your users with a pagination list of links
// to browse through the different pages of results
require ('class.pagination.php');
// Here you would normally have a request to the database that would count
// the total number of record for the desired request
//
// For example, we might want to get all the records from a school's students database
$query = "SELECT count(firstname) FROM students";
$result = mysql_query($query);
$total = mysql_result($result, 0);
// We should set a number of results per page
$results_per_page = 10;
// We should also get the current page viewed,
// for example, provided by the $_GET['page'] parameter
$current_page = $_GET['page'];
// Then we figure what the limit for the MySQL query would be considering the current page
$offset = ($current_page*$results_per_page)-$results_per_page;
$limit = $off.','.$results_per_page;
// Now that we have the $limit set properly, we conduct a second request to the database
// to get only the results we want, according to the current page number viewed.
// The following will render as "SELECT firstname,lastname FROM students LIMIT 0,10" if
// we are viewing page 1
$query = "SELECT firstname,lastname FROM students LIMIT ".$limit;
$result = mysql_query($query);
// We would normally process the returned rows here and do whatever you want
while ($row = mysql_fetch_array($result) {
echo "Firstname: ".$row['firstname']." Lastname: ".$row['lastname']."<br />";
}
// Then we instanciate the pagination object
$paginator = new Pagination();
// Then we set the number of results that we set per page,
// this way the paginator class knows how many pages link there would be
$paginator->setNumberOfPages($total,$result_per_page);
// If necessary we set the captions in the language of our choice
// By default, the class will use:
// << as the link for the very first page
// < as the link for previous page
// > as the link for next page
// >> as the link for last page
//
// But if we want to use something different, we will use the following methods
// $paginator->setCaption_first('Beginning');
// $paginator->setCaption_previous('Previous');
// $paginator->setCaption_next('Next');
// $paginator->setCaption_last('Last');
//
// You could also use valid HTML code for each caption, for example if you want to
// use images links.
// Finally we build the pagination links list
// The $url contains the URL to get to this page, where the query to the Databse occurs
// For example, it could be something like so:
// http://yourserver.com/example.php?action=query
//
// The class will create an unordered list of links to browse trough pages by adding the
// 'page' parameters to the URL above. So each link would look like:
// http://yourserver.com/yourscript.php?action=query&page=#
$url = 'example.php';
$paginator->draw($current_page,$url);
// Finally we echo the results
echo $paginator->$pagination;
?>
|