| 
<?php
/*
 Author : Dao Hoang Qui
 Email  : [email protected] or [email protected]
 Date   :  05/09/2009
 Function : Paging in 3 ways : "Prev|Next" and "<< < 1 2 3 > >>"  and "<< < 1 2 3 > >> Sum : 9999"
 */
 class Pager
 {
 /*
 Function  : find the started number of specific page
 Paremeter : $limit is the row number in one page.
 Return    : interger to determinate start position for LIMIT start,length in sql statement
 */
 function findStart($limit)
 {
 if(!isset($_GET["page"]) || ($_GET["page"]=="1"))
 {
 $start = 0;
 $_GET["page"] = 1;
 }
 else
 $start = ($_GET["page"]-1) * $limit;
 return $start;
 }
 
 /*
 Function  : sum pages from the number records in database and the number rows in the page
 Paremeter : $limit is the same above ; $count is the number of records in database.
 Return    : interger to determinate the total pages to display.
 */
 function findPages($count,$limit)
 {
 return (($count%$limit)==0) ? $count/$limit : floor($count/$limit)+1;
 }
 
 //Paging in Prev|Next
 function nextPrev($curPage,$pages)
 {
 $nextPrev = "";
 if (($curPage-1)<=0)
 $nextPrev = "Trang trước";
 else
 $nextPrev = "<a href='".$_SERVER["PHP_SELF"]."?page=".($curPage-1)."'>Trang trước </a>";
 $nextPrev .= " | ";
 if (($curPage+1)>$pages)
 $nextPrev .= "Trang sau";
 else
 $nextPrev .= "<a href='".$_SERVER["PHP_SELF"]."?page=".($curPage+1)."'>Trang sau </a>";
 return $nextPrev;
 }
 
 //Paging in << < 1 2 3 > >>
 function pageList($curPage,$pages)
 {
 $pageList = "";
 
 // << <
 if (($curPage-1)<=0)
 $pageList = "";
 else
 {
 $pageList = "<a href='".$_SERVER['PHP_SELF']."?page=1"."'><< </a>";
 $pageList .= "<a href='".$_SERVER['PHP_SELF']."?page=".($curPage-1)."'> <</a>";
 }
 
 // 1 2 3
 for ($page=1 ; $page<=$pages ; $page++)
 if($page == $curPage)
 $pageList .= " "."<a href='".$_SERVER['PHP_SELF']."?page=".$page."' style='color:RED'>".$page."</a>"." ";
 else
 $pageList .= " "."<a href='".$_SERVER['PHP_SELF']."?page=".$page."'>".$page."</a>"." ";
 
 // > >>
 if (($curPage+1)>$pages)
 $pageList .= "";
 else
 {
 $pageList .= "<a href='".$_SERVER['PHP_SELF']."?page=".($curPage+1)."'>> </a>";
 $pageList .= "<a href='".$_SERVER['PHP_SELF']."?page=".$pages."'>>></a>";
 }
 //return
 return $pageList;
 }
 
 //Paging in << < 1 2 3 > >>  Sum : 100
 function etcPageList($curPage,$pages,$limit)
 {
 $pageList = "";
 
 // << <
 if (($curPage-1)<=0)
 $pageList = "";
 else
 {
 $pageList = "<a href='".$_SERVER['PHP_SELF']."?page=1"."'><< </a>";
 $pageList .= "<a href='".$_SERVER['PHP_SELF']."?page=".($curPage-1)."'> <</a>";
 }
 
 // 1 2 3
 if ($pages < $limit)
 $limit = $pages;
 
 $limit = (($limit+$curPage-1)<$pages) ? $limit+$curPage-1 : $pages;
 
 for ($page=$curPage ; $page<=$limit ; $page++)
 if($page == $curPage)
 $pageList .= " "."<a href='".$_SERVER['PHP_SELF']."?page=".$page."' style='color:RED'>".$page."</a>"." ";
 else
 $pageList .= " "."<a href='".$_SERVER['PHP_SELF']."?page=".$page."'>".$page."</a>"." ";
 
 // > >>
 if (($curPage+1)>$pages)
 $pageList .= "";
 else
 {
 $pageList .= "<a href='".$_SERVER['PHP_SELF']."?page=".($curPage+1)."'>> </a>";
 $pageList .= "<a href='".$_SERVER['PHP_SELF']."?page=".$pages."'>>></a>";
 }
 
 //Sum :
 $pageList .= " Tổng cộng : ".$pages;
 
 //return
 return $pageList;
 }
 }
 ?>
 |