全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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."页&nbsp;&nbsp;&nbsp;";//输出当前第几页,共几页 
  if($this->page==1){//如果当前页是1 
   $message.="首页&nbsp;上一页&nbsp;&nbsp;&nbsp;";//输出没有链接的文字 
  }else{ 
   $message.="<a href='".$_SERVER['PHP_SELF']."?page=1'>首页</a>&nbsp;";//输出有链接的文字 
   $message.="<a href='".$_SERVER['PHP_SELF']."?page=".($this->page-1)."'>上一页</a>&nbsp;&nbsp;";//输出有链接的文字 
  } 
  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.="&nbsp;&nbsp;下一页&nbsp;尾页";//显示没有链接的文字 
  }else{ 
   $message.="&nbsp;&nbsp;<a href='".$_SERVER['PHP_SELF']."?page=".($this->page+1)."'>下一页</a>&nbsp;";//显示有链接的文字 
   $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封装的page分页类定义与用法完整示例  # PHP封装的完整分页类示例  # php封装的page分页类完整实例  # ThinkPHP使用心得分享-分页类Page的用法  # PHP通用分页类page.php[仿google分页]  # php分页原理 分页代码 分页类制作教程  # 两款万能的php分页类  # 高效mongodb的php分页类(不使用skip)  # PHP ajax 分页类代码  # PHP封装的分页类与简单用法示例  # 当前页  # 偏移量  # 下一页  # 上一页  # 尾页  # 首页  # 为总  # 每页  # 再加上  # 分页  # 大家分享  # 查询结果  # 具体内容  # 大家多多  # NAMES  # SET  # link  # index  # mysql_query  # False 


相关文章: 如何用美橙互联一键搭建多站合一网站?  油猴 教程,油猴搜脚本为什么会网页无法显示?  建站主机类型有哪些?如何正确选型  建站之星免费模板:自助建站系统与智能响应式一键生成  定制建站如何定义?其核心优势是什么?  如何在万网开始建站?分步指南解析  制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?  Python多线程使用规范_线程安全解析【教程】  Java解压缩zip - 解压缩多个文件或文件夹实例  网站制作哪家好,cc、.co、.cm哪个域名更适合做网站?  视频网站制作教程,怎么样制作优酷网的小视频?  C#怎么创建控制台应用 C# Console App项目创建方法  建站之星如何通过成品分离优化网站效率?  中山网站制作网页,中山新生登记系统登记流程?  jQuery 常见小例汇总  如何快速生成专业多端适配建站电话?  建站之星2.7模板快速切换与批量管理功能操作指南  齐河建站公司:营销型网站建设与SEO优化双核驱动策略  建站之星导航如何优化提升用户体验?  如何快速上传自定义模板至建站之星?  百度网页制作网站有哪些,谁能告诉我百度网站是怎么联系?  商务网站制作工程师,从哪几个方面把握电子商务网站主页和页面的特色设计?  如何高效搭建专业期货交易平台网站?  网站制作网站,深圳做网站哪家比较好?  如何通过网站建站时间优化SEO与用户体验?  免费网站制作模板下载,除了易企秀之外还有什么H5平台可以制作H5长页面,最好是免费的?  公司网站制作费用多少,为公司建立一个网站需要哪些费用?  开源网站制作软件,开源网站什么意思?  云南网站制作公司有哪些,云南最好的招聘网站是哪个?  猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?  如何通过VPS搭建网站快速盈利?  如何自定义建站之星模板颜色并下载新样式?  常州自助建站费用包含哪些项目?  如何登录建站主机?访问步骤全解析  洛阳网站制作公司有哪些,洛阳的招聘网站都有哪些?  制作网站怎么制作,*游戏网站怎么搭建?  Swift开发中switch语句值绑定模式  魔毅自助建站系统:模板定制与SEO优化一键生成指南  建站之星北京办公室:智能建站系统与小程序生成方案解析  娃派WAP自助建站:免费模板+移动优化,快速打造专业网站  广东企业建站网站优化与SEO营销核心策略指南  c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】  临沂网站制作企业,临沂第三中学官方网站?  最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?  学校建站服务器如何选型才能满足性能需求?  如何在宝塔面板中修改默认建站目录?  建站之星与建站宝盒如何选择最佳方案?  c++23 std::expected怎么用 c++优雅处理函数错误返回【详解】  韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐  网站设计制作企业有哪些,抖音官网主页怎么设置? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。