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与已存在的Java应用程序集成
Oct 09 PHP
php 禁止页面缓存输出
Jan 07 PHP
用PHP的超级变量$_GET获取HTML表单(Form) 数据
May 07 PHP
php的memcache类分享(memcache队列)
Mar 26 PHP
完美的2个php检测字符串是否是utf-8编码函数分享
Jul 28 PHP
ThinkPHP控制器间实现相互调用的方法
Oct 31 PHP
为百度UE编辑器上传图片添加水印功能
Apr 16 PHP
解析WordPress中函数钩子hook的作用及基本用法
Dec 22 PHP
php 获取文件行数的方法总结
Oct 11 PHP
PHP切割整数工具类似微信红包金额分配的思路详解
Sep 18 PHP
php集成开发环境详解
Sep 24 PHP
Laravel关系模型指定条件查询方法
Oct 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
通过ODBC连接的SQL SERVER实例
2006/10/09 PHP
php5编程中的异常处理详细方法介绍
2008/07/29 PHP
怎样去阅读一份php源代码
2009/08/21 PHP
thinkphp区间查询、统计查询与SQL直接查询实例分析
2014/11/24 PHP
thinkphp模板继承实例简述
2014/11/26 PHP
PHP答题类应用接口实例
2015/02/09 PHP
php实现专业获取网站SEO信息类实例
2015/04/02 PHP
详解php中 === 的使用
2016/10/24 PHP
laravel5使用freetds连接sql server的方法
2018/12/07 PHP
DHTML 中的绝对定位
2006/11/26 Javascript
jQuery 技巧小结
2010/04/02 Javascript
JSuggest自动匹配下拉框使用方法(示例代码)
2013/12/27 Javascript
javascript监听鼠标滚轮事件浅析
2014/06/05 Javascript
Nodejs中自定义事件实例
2014/06/20 NodeJs
js实现跟随鼠标移动且带关闭功能的图片广告实例
2015/02/26 Javascript
JS不用正则验证输入的字符串是否为空(包含空格)的实现代码
2016/06/14 Javascript
前端微信支付js代码
2016/07/25 Javascript
使用jQuery实现鼠标点击左右按钮滑动切换
2017/08/04 jQuery
元素全屏的设置与监听实例
2017/11/28 Javascript
vue中v-cloak解决刷新或者加载出现闪烁问题(显示变量)
2018/04/20 Javascript
JS实现点击生成UUID的方法完整实例【基于jQuery】
2019/06/12 jQuery
vue-cli基础配置及webpack配置修改的完整步骤
2019/10/20 Javascript
Python使用ConfigParser模块操作配置文件的方法
2018/06/29 Python
python实现创建新列表和新字典,并使元素及键值对全部变成小写
2019/01/15 Python
Python面向对象程序设计中类的定义、实例化、封装及私有变量/方法详解
2019/02/28 Python
Python使用itchat 功能分析微信好友性别和位置
2019/08/05 Python
pytorch中的embedding词向量的使用方法
2019/08/18 Python
python针对mysql数据库的连接、查询、更新、删除操作示例
2019/09/11 Python
python 实现线程之间的通信示例
2020/02/14 Python
Django CSRF认证的几种解决方案
2020/03/03 Python
Python控制鼠标键盘代码实例
2020/12/08 Python
Python读写Excel表格的方法
2021/03/02 Python
金智子午JAVA面试题
2015/09/04 面试题
金蝶的一道SQL笔试题
2012/12/18 面试题
建筑工地文明标语
2014/10/09 职场文书
虎兄虎弟观后感
2015/06/12 职场文书