Login   Register  
PHP Classes
elePHPant
Icontem

File: example.php

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Denis St-Michel  >  Simple Paginator  >  example.php  >  Download  
File: example.php
Role: Example script
Content type: text/plain
Description: Example use of this class
Class: Simple Paginator
Generate links to navigate listings split in pages
Author: By
Last change:
Date: 2006-11-01 18:10
Size: 3,305 bytes
 

Contents

Class file image Download
<?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($result0);

   
// 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;

?>