PHP实例源代码:PHP实现翻页处理的类
<?php class Page{
var $CountAll; //共有纪录数 var $CountPage; //每页显示记录数 var $Link; //显示 完整的分页信息 var $ForPage; //上一页 var $NextPage; //下一页 var $FirstPage; //第一页 var $LastPage; //最后一页 var $CurrPage; //第几页 var $PageNum; //共有多少页 var $Parameter; //参数 var $LimitNum; //不是统计全部记录,而是显示部分记录,例如共有100条记录,但是只统计显示前50条
function Page($sql, $num=30){
//初始化,统计记录数 $this->CountPage = $num; global $mysql; $sql = base64_decode($sql); $result = $mysql->Query($sql); if (0 != $mysql->AffectedRows()){ $row = $mysql->FetchArray($result); $this->CountAll = $row[0]; } else{ $this->CountAll = 0; } //print "共有 $this->CountAll <br>"; }
function ListPage($sql, $page=0,$sql_all,$other){ //查询,定义变量,获取数据
global $mysql; //print "sql sql<br>"; if (isset($this->LimitNum) && $this->CountAll > $this->LimitNum){ $this->CountAll = $this->LimitNum; }//更新总浏览记录数
$sql_src = $sql; //if ($page > 0){ $sql = base64_decode($sql); $sql_all = base64_decode($sql_all); $sql_src = $sql; //} //echo $sql; if (($this->CountAll % $this->CountPage) == 0)//统计共有多少页 $pagecount = (integer)($this->CountAll/$this->CountPage); else $pagecount = (integer)($this->CountAll/$this->CountPage)+1; $this->ageNum = $pagecount; if ($page > $this->ageNum)//如果页码超过页码总数则设为最大页码 $page = $this->ageNum; if ($page <= 0)//如果页码小于等于零则将页码设置为1 $page = 1;
if ($this->CountAll == 0) { $this->CurrPage = 0; }else{ $this->CurrPage = $page; } $first_start = ($page-1)*$this->CountPage; $sql = $sql." limit ".$first_start.", ".$this->CountPage; //print "2sql<br>"; $result = $mysql->Query($sql); if (0 != $mysql->AffectedRows()){
上一篇:
ASP实例代码:搞个长文章分页代码
下一篇:
总结:一些PHP学习过程中的心得和经验
复制本页网址和标题,发送给你QQ/Msn的好友一起分享