• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

php实例-php显示页码分页的封装

php 搞代码 4年前 (2022-01-22) 24次浏览 已收录 0个评论

这篇文章主要为大家详细介绍了php封装一个显示页码的分页类,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了php封装显示页码的分页类,供大家参考,具体内容如下

一、代码

conn.php

<?php  class Mysql{   public function construct(){    $this->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

<link rel="stylesheet" type="text/css" href="css/style.css" rel="external nofollow" > <?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.="<a href='".$_SERVER['PHP_SELF']."?page=1'>首页</a> ";//输出有链接的文字    $message.="<a href='".$_SERVER['PHP_SELF']."?page=".($this->page-1)."'>上一页</a>  ";//输出有链接的文字   }   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.="<a id='num' href='".$_SERVER['PHP_SELF']."?page=".$i."'>".$i."</a>\n";//输出有链接的数字    }   }   if($this->page==$this->pages){//如果当前页等于最大页数    $message.="  下一页 尾页";//显示没有链接的文字   }else{    $message.="  <a href='".$_SERVER['PHP_SELF']."?page=".($this->page+1)."'>下一页</a> <em style="color:transparent">本文来源[email protected]搞@^&代*@码)网9</em><strong>搞代gaodaima码</strong>";//显示有链接的文字    $message.="<a href='".$_SERVER['PHP_SELF']."?page=".$this->pages."'>尾页</a>";//显示有链接的文字   }   return $message;//返回变量的值   }  } ?> <table border="1" cellpadding="1" cellspacing="1" bordercolor="#FFFFFF" bgcolor="#FF0000">  <tr>  <td style="padding-left:3px; padding-right:3px; padding-top:3px; padding-bottom:3px;" bgcolor="#FFFFFF">ID:</td>  <td style="padding-left:3px; padding-right:3px; padding-top:3px; padding-bottom:3px;" bgcolor="#FFFFFF">标题</td>  <td style="padding-left:3px; padding-right:3px; padding-top:3px; padding-bottom:3px;" bgcolor="#FFFFFF">内容</td>  <td style="padding-left:3px; padding-right:3px; padding-top:3px; padding-bottom:3px;" bgcolor="#FFFFFF">时间</td>  </tr> <?php  $p=new Page('3','3','tb_demo01');  $rs=$p->sel();  while($rst=mysql_fetch_row($rs)){ ?>  <tr>  <td style="padding-left:3px; padding-right:3px; padding-top:3px; padding-bottom:3px;" bgcolor="#FFFFFF"><?php echo $rst[0] ?></td>  <td style="padding-left:3px; padding-right:3px; padding-top:3px; padding-bottom:3px;" bgcolor="#FFFFFF"><?php echo $rst[1] ?></td>  <td style="padding-left:3px; padding-right:3px; padding-top:3px; padding-bottom:3px;" bgcolor="#FFFFFF"><?php echo $rst[2] ?></td>  <td style="padding-left:3px; padding-right:3px; padding-top:3px; padding-bottom:3px;" bgcolor="#FFFFFF"><?php echo $rst[3] ?></td>  </tr> <?php }?> </table> <?php  echo $p->myPage(); ?>

二、运行结果

以上就是php实例-php显示页码分页的封装的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php实例-php显示页码分页的封装
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址