php的一个分页类

//-----------------------------
//  实现分页效果
//-----------------------------
class PageChange
{
  /*
   **变量$page:所请求页码.
   **变量$page_size:页面结果行数.
   **变量$result_amount:从数据库提取出的结果总数.
   **变量$page_count:由$page_size,$result_amount计算得到的页面数量.
   **变量$linkbar:由以上变量生成的分页导航.
  */
  var $page,$page_size,$result_amount,$page_count,$linkbar;
  /*
   **PageChange构造函数,获取$_GET["page"],$_POST["page_size"].
  */
  function PageChange($inputPage,$inputPageSize,$inputResultAmount)
  {
 $this->page=$inputPage;
 $this->page_size=$inputPageSize;
 $this->result_amount=$inputResultAmount;
  }
  /*
   **函数ReturnPage(),返回请求页数page.
  */
  function ReturnPage()
  {
 return $this->page;
  }
  /*
   **函数ReturnPageSize(),返回请求页数page_size.
  */
  function ReturnPageSize()
  {
 return $this->page_size;
  }
  /*
   **函数ReturnResultAmount(),返回从数据库中提取的结果总数.
  */
  function ReturnResultAmount()
  {
 return $this->result_amount;
  }
  /*
  **函数ReturnPageCount(),返回总页数page_count.
  */
  function ReturnPageCount()
  {
    if($this->result_amount)
 {
    if($this->result_amount<$this->page_size){$this->page_count=1;}
    if($this->result_amount%$this->page_size){$this->page_count=(int)($this->result_amount/$this->page_size)+1;}
    else{$this->page_count=$this->result_amount/$this->page_size;}
 }
 else
 {$this->page_count=0;}
 return $this->page_count;
  }
  /*
   **函数PrintPageBar(),打印分页导航.
  */
  function PrintPageBar()
  {
    $page=$this->page;
    $page_count=$this->page_count;
    $this->linkbar="("."$page".'/'."$page_count".")";
 if($page==1)
  {$this->linkbar.=" 第一页 | 上一页 | ";}
 else{$this->linkbar.= ' <a href=?page=1>第一页</a> | <a href=?page='.($page-1).'>上一页</a> | ';}
 if(($page==$page_count)||($page_count==0)){$this->linkbar.='下一页 | 尾页';}
 else{$this->linkbar.= '<a href=?page='.($page+1).'>下一页</a> | <a href=?page='.$page_count.'>尾页</a>';}
 echo "<div id='pagebar'>";
 echo "$this->linkbar";
    echo "</div>";
  }
}


//-----------------
//分页类实现部分源码
//-----------------
$page_size=8;//每页显示数量
if(isset($_GET["page"]))//获取超连接页码page
{$page=intval($_GET["page"]);}
else
{$page=1;}//若未取得,则显示第一页
$queryTotal="SELECT count(*) AS amount FROM guestbook";
$resultTotal= mysql_query($queryTotal,$connect);
$rowTotal = mysql_fetch_array($resultTotal);
$amount=$rowTotal["amount"];
$GetPageChange=new PageChange($page,$page_size,$amount);//实例化分页类
$query="select * from guestbook order by ReDate desc limit  ".($GetPageChange->ReturnPage()-1)*$GetPageChange->ReturnPageSize().",".$GetPageChange->ReturnPageSize();
$GetPageChange->ReturnPageCount();
$result=mysql_query($query,$connect);
$resultcount = mysql_num_rows($result);
if($resultcount)
{
  while($row=mysql_fetch_array($result,MYSQL_BOTH))
  {
        echo "<div class=/"guestBookTitle/">";
        echo $row["loginID"]."留下的信息:";
        if($Array["type"]==3)
        {
                echo "[<a href="."guestbook.php?action=delete&id=".$row["ID"].">删除</a>]";
        }
        echo "</div>";
        echo "<div class=/"guestBookContent/">".$row["content"]."</div>";
  echo "<div style=/"margin-bottom: 10px;width:73%;padding:0px;text-align:right;/">留言时间:".$row["ReDate"]."</div>";
  }
}
else {print("<BR /><FONT COLOR=RED>暂无留言</FONT>");}
$GetPageChange->PrintPageBar();//打印分页条

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值