2

pagerange

page_range
SYNOPSIS

page_range($page, $npages, $offset=1)

DESCRIPTION
CODE
  1. function page_range($page, $npages, $offset=1) {
  2.     $range=2*$offset+1;
  3.  
  4.     if ($npages <= $range+$offset) {
  5.         $pagenums=range(1, $npages);
  6.     }
  7.     else if (($page - $offset) <= 2) {
  8.         $pagenums=array_merge(range(1, $range+1), array($npages));
  9.     }
  10.     else if (($page + $offset) >= ($npages-1)) {
  11.         $pagenums=array_merge(array(1), range($npages-$range, $npages));
  12.     }
  13.     else {
  14.         $pagenums=array_merge(array(1), range($page-$offset, $page+$offset), array($npages));
  15.     }
  16.  
  17.     return $pagenums;
  18. }

Comments

To add a comment, click here.