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 相关文章推荐
Php做的端口嗅探器--可以指定网站和端口
Oct 09 PHP
一道关于php变量引用的面试题
Aug 08 PHP
php数据库配置文件一般做法分享
Jul 07 PHP
PHP Global变量定义当前页面的全局变量实现探讨
Jun 05 PHP
PHP实现的交通银行网银在线支付接口ECSHOP插件和使用例子
May 10 PHP
PHP正则表达式替换站点关键字链接后空白的解决方法
Sep 16 PHP
详解YII关联查询
Jan 10 PHP
Zend Framework教程之Bootstrap类用法概述
Mar 14 PHP
php+html5+ajax实现上传图片的方法
May 14 PHP
php实现生成PDF文件的方法示例【基于FPDF类库】
Jul 21 PHP
php使用array_chunk函数将一个数组分割成多个数组
Dec 05 PHP
微信公众平台开发教程④ ThinkPHP框架下微信支付功能图文详解
Apr 10 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
ajax完美实现两个网页 分页功能的实例代码
2013/04/16 PHP
PHP 常用数组内部函数(Array Functions)介绍
2013/06/05 PHP
php多进程模拟并发事务产生的问题小结
2018/12/07 PHP
javascript 火狐(firefox)不显示本地图片问题解决
2008/07/05 Javascript
用Greasemonkey 脚本收藏网站会员信息到本地
2009/10/26 Javascript
NodeJS与Mysql的交互示例代码
2013/08/18 NodeJs
JavaScript闭包实例讲解
2014/04/22 Javascript
JavaScript bold方法入门实例(把指定文字显示为粗体)
2014/10/17 Javascript
原生javascript实现获取指定元素下所有后代元素的方法
2014/10/28 Javascript
jquery实现页面关键词高亮显示的方法
2015/03/12 Javascript
request请求获取参数的实现方法(post和get两种方式)
2016/09/27 Javascript
js仿网易表单及时验证功能
2017/03/07 Javascript
jquery实现表单获取短信验证码代码
2017/03/13 Javascript
JS中的三个循环小结
2017/06/20 Javascript
鼠标拖动改变DIV等网页元素的大小的实现方法
2017/07/06 Javascript
react路由配置方式详解
2017/08/07 Javascript
基于jstree使用AJAX请求获取数据形成树
2017/08/29 Javascript
Layui数据表格跳转到指定页的实现方法
2019/09/05 Javascript
KMP算法精解及其Python版的代码示例
2016/06/01 Python
Python使用迭代器打印螺旋矩阵的思路及代码示例
2016/07/02 Python
分享6个隐藏的python功能
2017/12/07 Python
基于python实现在excel中读取与生成随机数写入excel中
2018/01/04 Python
python使用sqlite3时游标使用方法
2018/03/13 Python
python通过zabbix api获取主机
2018/09/17 Python
手把手教你进行Python虚拟环境配置教程
2020/02/03 Python
python GUI库图形界面开发之PyQt5图片显示控件QPixmap详细使用方法与实例
2020/02/27 Python
Pycharm如何运行.py文件的方法步骤
2020/03/03 Python
Django中ORM找出内容不为空的数据实例
2020/05/20 Python
在网上学习全世界最好的课程:Coursera
2017/11/07 全球购物
智能旅行箱:Horizn Studios
2018/04/30 全球购物
KTV的创业计划书范文
2014/02/02 职场文书
模具专业毕业推荐信
2014/03/08 职场文书
七年级上册语文教学计划
2015/01/22 职场文书
送给客户微信问候语!
2019/07/04 职场文书
七年级作文之秋游
2019/10/21 职场文书
导游词之南京夫子庙
2019/12/09 职场文书