function showpager($currentIndex = 0, $buttons = 5, $totalPages = 50) {
 $currentPage = $lowerLimit = $upperLimit = min($currentIndex, $totalPages);
 //Search boundaries
 for ($b = 0; $b < $buttons && $b < $totalPages;) {
   if ($lowerLimit > 0) {
     $lowerLimit--;
     $b++;
   }
   if ($b < $buttons && $upperLimit < $totalPages) {
     $upperLimit++;
     $b++;
   }
 }
 //Do output to a html element
 for ($i = $lowerLimit; $i < $upperLimit; $i++) {
   if ($i == $currentPage) {
     echo ' [' . $i . '] ';
   }
   else {
     echo ' <a href="#">[<em>' . $i . '</em>]</a> ';
   }
 }
}
For Tests : for ($i = 0; $i < 51; $i++) {
 echo "<br> $i : ";
 showpager($i);
}
Comments