本文实例为大家分享了PHP封装显示页码的分页类,供大家参考,具体内容如下
一、代码
conn.PHP
PHP;">
connect();
}
public function connect(){
$conn=MysqL_pconnect('localhost','root','root') or die("Connect MysqL False");
MysqL_select_db('db_database20',$conn) or die("Connect DB False");
MysqL_query("SET NAMES utf8");
}
}
?>
index.PHP
PHP;">
PHP
include_once("conn.PHP");//包含conn.PHP文件
class Page extends MysqL{//创建Page类并继承MysqL类
private $pagesize;//每页显示的记录数
private $page;//当前是第几页
private $pages;//总页数
private $total;//查询的总记录数
private $pagelen;//显示的页码数
private $pageoffset;//页码的偏移量
private $table;//欲查询的表名
function __construct($pagesize,$pagelen,$table){
if($_GET['page']=="" || $_GET['page']<0){//判断地址栏参数page是否有值
$this->page=1;//当前页定义为1
}else{
$this->page=$_GET['page'];//当前页为地址栏参数的值
}
$this->pagesize=$pagesize;
$this->pagelen=$pagelen;
$this->table=$table;
new MysqL();//实例化MysqL类
$sql=MysqL_query("select * from $this->table");//查询表中的记录
$this->total=MysqL_num_rows($sql);//获得查询的总记录数
$this->pages=ceil($this->total/$this->pagesize);//计算总页数
$this->pageoffset=($this->pagelen-1)/2;//计算页码偏移量
}
function sel(){
$sql=MysqL_query("select * from $this->table limit ".($this->page-1)*$this->pagesize.",".$this->pagesize);//查询当前页显示的记录
return $sql;//返回查询结果
}
function myPage(){
$message="第".$this->page."页/共".$this->pages."页";//输出当前第几页,共几页
if($this->page==1){//如果当前页是1
$message.="首页上一页";//输出没有链接的文字
}else{
$message.="首页";//输出有链接的文字
$message.="page-1)."'>上一页";//输出有链接的文字
}
if($this->page<=$this->pageoffset){//如果当前页小于页码的偏移量
$minpage=1;//显示的最小页数为1
$maxpage=$this->pagelen;//显示的最大页数为页码的值
}elseif($this->page>$this->pages-$this->pageoffset){//如果当前页大于总页数减去页码的偏移量
$minpage=$this->pages-$this->pagelen+1;//显示的最小页数为总页数减去页码数再加上1
$maxpage=$this->pages;//显示的最大页数为总页数
}else{
$minpage=$this->page-$this->pageoffset;//显示的最小页数为当前页数减去页码的偏移量
$maxpage=$this->page+$this->pageoffset;//显示的最大页数为当前页数加上页码的偏移量
}
for($i=$minpage;$i<=$maxpage;$i++){//循环输出数字页码数
if($i==$this->page){
$message.=$i."\n";//输出没有链接的数字
}else{
$message.="".$i."\n";//输出有链接的数字
}
}
if($this->page==$this->pages){//如果当前页等于最大页数
$message.="下一页尾页";//显示没有链接的文字
}else{
$message.="page+1)."'>下一页";//显示有链接的文字
$message.="pages."'>尾页";//显示有链接的文字
}
return $message;//返回变量的值
}
}
?>
标题内容sel();
while($rst=MysqL_fetch_row($rs)){
?>
myPage();
?>