Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2113813
  • 博文数量: 82
  • 博客积分: 2010
  • 博客等级: 大尉
  • 技术积分: 880
  • 用 户 组: 普通用户
  • 注册时间: 2005-03-14 00:01
文章分类

全部博文(82)

文章存档

2014年(1)

2011年(1)

2009年(8)

2008年(11)

2007年(13)

2006年(26)

2005年(22)

我的朋友

分类: LINUX

2005-04-21 22:34:46

很简单,只有一种风格,而且对输入的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]{1,})","",$_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 = '

url_with_page."">";
    if ($this->page==1) {
      $this->pagelink .= "首页 上页 ";
      }else {
      $this->pagelink .= "url_with_page"."1".">首页 url_with_page".($this->page-1).">上页 ";
      }
    if ($this->page==$totalpage)
      {
       $this->pagelink .= "下页 尾页 ";
      }
    else
      {
      $this->pagelink .= "url_with_page".($this->page+1).">下页 url_with_page".$totalpage.">尾页 ";
      }
     $this->pagelink .= "页次:".$this->page."/".$totalpage."页 共".$this->num."条记录 转到";
     $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;
?>


阅读(932) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~