很简单,只有一种风格,而且对输入的page变量没有判断. pager.php //简单的分页类 class pager{ var $pagesize = 20 ; //页面记录条数 var $num; //这个是查询的总记录条数,一定要传递进来. var $page=1 ;//当前页 var $pagelink; //页面链接跳转 var $url; //当前页面地址 var $url_with_page; //这个是为首页等页面链接用的,加上了&page=或?page= var $offset; //查询的limit开始 function makepage() { if ($this->num==0){ $this->pagelink="没有找到任何记录"; $this->offset=0; }else{ //首先确定链接页地址 $this->url=ereg_replace("(\?|&)+(page=)+([0-9])","",$_SERVER['REQUEST_URI']); if ($this->url==$_SERVER['PHP_SELF']) { $this->url_with_page=$this->url."?page="; }else{ $this->url_with_page=$this->url."&page="; } $mod = $this->num % $this->pagesize; //如果不是全部整版,那最后一页的记录数量 $totalpage = (int)($this->num / $this->pagesize); //整版页的数量 if ($mod) { ++$totalpage ; //如果有余数,总页数应为整版页加1 } //如果是不为整的最后一页,则该页记录数$perpage为余数,否则为10 if ($this->page==$totalpage and $mod<>0) { $perpage=$mod; } else { $perpage=$this->pagesize; } $this->offset = ($this->page - 1) * $this->pagesize; //本页第一条记录的下标 //生成底面页面跳转 $this->pagelink = '
test.phprequire('./pager.php'); if (!isset($_GET['page'])) { $page=1; }else{ $page=$_GET['page']; } $pager=new pager; $pager->num= 90; $pager->page=$page; $pager->makepage(); print " "; echo $pager->pagelink; echo " offset="; echo $pager->offset; ?>
|