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 相关文章推荐
Cakephp 执行主要流程
Mar 24 PHP
PHP实现把数字ID转字母ID
Aug 12 PHP
PHP循环遍历数组的3种方法list()、each()和while总结
Nov 19 PHP
PHP中创建图像并绘制文字的例子
Nov 19 PHP
php 无限级分类 获取顶级分类ID
Mar 13 PHP
JavaScript实现删除电脑的关机键
Jul 26 PHP
php基于curl实现随机ip地址抓取内容的方法
Oct 11 PHP
Paypal实现循环扣款(订阅)功能
Mar 23 PHP
PHP如何根据文件头检测文件类型实例代码
Oct 14 PHP
Laravel框架定时任务2种实现方式示例
Dec 08 PHP
PHP使用HTML5 FileApi实现Ajax上传文件功能示例
Jul 01 PHP
MacOS下PHP7.1升级到PHP7.4.15的方法
Feb 22 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维护文件系统
2006/10/09 PHP
Yii2增加验证码步骤详解
2016/04/25 PHP
Linux平台PHP5.4设置FPM线程数量的方法
2016/11/09 PHP
ASP 过滤数组重复数据函数(加强版)
2010/05/31 Javascript
修改jQuery Validation里默认的验证方法
2012/02/14 Javascript
js根据给定的日期计算当月有多少天实现思路及代码
2013/02/25 Javascript
jQuery中nextUntil()方法用法实例
2015/01/07 Javascript
JavaScript中return false的用法
2015/03/12 Javascript
$.extend 的一个小问题
2015/06/18 Javascript
jQuery实现网页抖动的菜单抖动效果
2015/08/07 Javascript
jQuery siblings()用法实例详解
2016/04/26 Javascript
关于js原型的面试题讲解
2016/09/25 Javascript
原生JS实现图片轮播切换效果
2016/12/15 Javascript
jq stop()和:is(:animated)的用法及区别(详解)
2017/02/12 Javascript
vue-cli2.0转3.0之项目搭建的详细步骤
2018/12/11 Javascript
微信小程序tabBar 返回tabBar不刷新页面
2019/07/25 Javascript
Js视频播放器插件Video.js使用方法详解
2020/02/04 Javascript
Python安装Imaging报错:The _imaging C module is not installed问题解决方法
2014/08/22 Python
在Python中使用lambda高效操作列表的教程
2015/04/24 Python
简单总结Python中序列与字典的相同和不同之处
2016/01/19 Python
Python tkinter实现的图片移动碰撞动画效果【附源码下载】
2018/01/04 Python
利用Pyhton中的requests包进行网页访问测试的方法
2018/12/26 Python
python print输出延时,让其立刻输出的方法
2019/01/07 Python
python3 logging日志封装实例
2020/04/08 Python
如何利用python检测图片是否包含二维码
2020/10/15 Python
Django2.1.7 查询数据返回json格式的实现
2020/12/29 Python
html5 乒乓球(碰撞检测)实例二
2013/07/25 HTML / CSS
高中生物教学反思
2014/02/05 职场文书
经济职业学院毕业生自荐书
2014/03/17 职场文书
股权收购意向书
2014/04/01 职场文书
建筑管理专业求职信
2014/07/28 职场文书
教师节感恩老师演讲稿
2014/08/28 职场文书
2015年幼儿园中班开学寄语
2015/05/27 职场文书
小学生暑假安全保证书
2015/07/13 职场文书
2016年学校党支部公开承诺书
2016/03/25 职场文书
MySQL数据库如何使用Shell进行连接
2022/04/12 MySQL