php显示页码分页类的封装


Posted in PHP onJune 08, 2017

本文实例为大家分享了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> ";//显示有链接的文字 
   $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 相关文章推荐
基于mysql的bbs设计(二)
Oct 09 PHP
php 调试利器debug_print_backtrace()
Jul 23 PHP
CI框架中通过hook的方式实现简单的权限控制
Jan 07 PHP
php使用memcoder将视频转成mp4格式的方法
Mar 12 PHP
php强制用户转向www域名的方法
Jun 19 PHP
帝国CMS留言板回复后发送EMAIL通知客户
Jul 06 PHP
PHP如何将log信息写入服务器中的log文件
Jul 29 PHP
详解Window7 下开发php扩展
Dec 31 PHP
PHP实现搜索地理位置及计算两点地理位置间距离的实例
Jan 08 PHP
PHP简单实现冒泡排序的方法
Dec 26 PHP
php使用 readfile() 函数设置文件大小大小的方法
Aug 11 PHP
搜索附近的人PHP实现代码
Feb 11 PHP
PHP 7.0新增加的特性介绍
Jun 08 #PHP
PHP使用PHPExcel实现批量上传到数据库的方法
Jun 08 #PHP
iis6手工创建网站后无法运行php脚本的解决方法
Jun 08 #PHP
PHP简单获取随机数的常用方法小结
Jun 07 #PHP
laravel 5.1下php artisan migrate的使用注意事项总结
Jun 07 #PHP
PHP获取redis里不存在的6位随机数应用示例【设置24小时过时】
Jun 07 #PHP
解决laravel 5.1报错:No supported encrypter found的办法
Jun 07 #PHP
You might like
php _autoload自动加载类与机制分析
2012/02/10 PHP
利用PHP脚本在Linux下用md5函数加密字符串的方法
2015/06/29 PHP
非常有用的9个PHP代码片段
2016/04/06 PHP
Yii框架中jquery表单验证插件用法示例
2016/10/18 PHP
解决Laravel5.2 Auth认证退出失效的问题
2019/10/14 PHP
greybox——不开新窗口看新的网页
2007/02/20 Javascript
通过Javascript创建一个选择文件的对话框代码
2012/06/16 Javascript
js 判断图片是否加载完以及实现图片的预下载
2014/08/14 Javascript
jQuery插件实现大图全屏图片相册
2015/03/14 Javascript
jQuery层动画定位滑动效果的方法
2015/04/30 Javascript
ichart.js绘制虚线、平均分虚线效果的实现代码
2016/05/05 Javascript
详解JS-- 浮点数运算处理
2016/11/28 Javascript
JavaScript实现垂直滚动条效果
2017/01/18 Javascript
jquery+ajax实现省市区三级联动 (封装和不封装两种方式)
2017/05/15 jQuery
vue-resource调用promise取数据方式详解
2017/07/21 Javascript
微信小程序实现收货地址左滑删除
2020/11/18 Javascript
layui表格数据重载
2019/07/27 Javascript
Python查询Mysql时返回字典结构的代码
2012/06/18 Python
tensorflow输出权重值和偏差的方法
2018/02/10 Python
Python+request+unittest实现接口测试框架集成实例
2018/03/16 Python
Pytorch 实现sobel算子的卷积操作详解
2020/01/10 Python
HTML5 canvas 基本语法
2009/08/26 HTML / CSS
英国领先的运动物理治疗供应公司:Vivomed
2018/07/14 全球购物
定制iPhone和Macbook保护壳:Slick Case
2018/11/21 全球购物
官方授权图形T恤和服装:Fifth Sun
2019/06/12 全球购物
介绍一下except的用法和作用
2015/01/22 面试题
会计专业自荐信范文
2013/12/02 职场文书
校园创业策划书
2014/01/14 职场文书
电气工程及其自动化专业毕业生自荐信
2014/06/21 职场文书
学校清明节活动总结
2014/07/04 职场文书
安装工程师岗位职责
2015/02/13 职场文书
世界名著读书笔记
2015/06/25 职场文书
nginx里的rewrite跳转的实现
2021/03/31 Servers
python编程简单几行代码实现视频转换Gif示例
2021/10/05 Python
Android开发 使用文件储存的方式保存QQ密码
2022/04/24 Java/Android
python 学习GCN图卷积神经网络
2022/05/11 Python