当前位置:首页 > 日记 > 正文

php显示页码分页类的封装

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."页   ";//输出当前第几页,共几页   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(); ?> 

二、运行结果

 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

相关文章

ps制作一只贱贱的doger表情教程

ps制作一只贱贱的doger表情教程

教程,一只,表情,电脑软件,ps,ps制作一只贱贱的doger表情,教程主要分为前期准备、背景制作、头部和耳朵的绘制、眼睛、鼻子和嘴的绘制,然后添加一些阴影,最后这只贱贱的doge,就完成了。那么,让我们开始练习吧!效果图:主要过程:12 3 4 5 阅读全文1 2…

AngularJS中控制器函数的定义与使

AngularJS中控制器函数的定义与使

控制器,函数,示例,使用方法,定义,本文实例讲述了AngularJS中控制器函数的定义与使用方法。分享给大家供大家参考,具体如下:HTML正文:<body ng-app="myApp" ng-controller="myCtrl"><h2>AngularJS函数绑定</h2><textarea ng-model="messa…

jQuery瀑布流的简单实现代码

jQuery瀑布流的简单实现代码

瀑布流,简单实现,代码,电脑软件,jQuery,简单版的Jquery实现图片瀑布流思路,供大家参考,具体内容如下注意:本篇文章基于知道每张图片的实际尺寸的情况下特点:列数自适应,图片宽度固定已知BUG:像本案例中的刚好5张图片循环显示且只有5列的情况…

利用Chrome DevTools直接调试Node.

利用Chrome DevTools直接调试Node.

方法,并行,调试,详解,电脑软件,前提Node.js 6.3+, 这个可上Node.js官网自行下载;Chrome 55+. 如果您本地的chrome升级到最新版后还是<55, 可以从此处下载:Chrome Canary,亲测可行。配置就目前来说,在浏览器端并行调试JavaScript与Node.js还属于…

js控制按钮,防止频繁点击响应的实

js控制按钮,防止频繁点击响应的实

控制,响应,频繁,实例,按钮,为了防止频繁点击按钮,可以采用一个策略,点击一次后让按钮灰掉,暂时不可以用,一段时间后再可以用,伪代码如下:var clicktag = 0; $('.a_cc').click(function () { if (clicktag == 0) { clickta…

解决局域网不能互相访问之全攻略

解决局域网不能互相访问之全攻略

局域网,全攻略,电脑软件,一般都是简单的设置和物理上的原因,其中XP之间不能互相访问是最近频繁遇到的问题。这篇文章就是来解决这些问题.分两个部分 一: 设置 现在,已经有许多人在使用Win2000和WinXP来联网,但在具体使用中有许多网友反映在Win…

wps文字如何同时打开两个文档wps文

wps文字如何同时打开两个文档wps文

文档,文字,方法,两个,电脑软件,  我们在办公时有时需要对两份文档进行对比,下面小编介绍下wps文字进行文档比较的方法。希望对你有帮助!wps文字同时打开两个文档的方法打开需要进行比较的文档。wps文字同时打开两个文档的方法图1  选择视…

详解vue嵌套路由-query传递参数

详解vue嵌套路由-query传递参数

嵌套,传递参数,路由,详解,电脑软件,在嵌套路由中我们经常会遇到父路由向子路由里面传递参数,传递参数有两种方法,通过 query 或者 paramsindex.html<div id="app"> <!-- router-view 路由出口, 路由匹配到的组件将渲染在这里 --> <rout…

简单谈谈axios中的get,post方法

简单谈谈axios中的get,post方法

方法,简单,电脑软件,post,axios,学习vue和nodejs的过程当中,涉及到了axios,今天为了测试,写了get和post两个方法来跟node服务端交互,结果因为header和参数弄了好久,在此记录一下,同时分享;由于刚接触axios,在测试方法中,写的都是很简单的东西,不过能…

为JQuery EasyUI 表单组件增加焦点

为JQuery EasyUI 表单组件增加焦点

表单,方法,组件,功能,焦点,1、背景说明 在使用 JQuery EasyUI 各表单组件时,实际客户端页面元素是由 JQuery EasyUI 生成的,元素的焦点切换,虽然 Tab 键可以正常用,但顺序控制属性 tabindex 不起作用,因为页面看到的元素,是生成的,没有tabinde…

ps怎么设计一款漂亮梦幻的中秋海报

ps怎么设计一款漂亮梦幻的中秋海报

中秋,海报,梦幻,漂亮,电脑软件,今天我们就来看看ps设计中秋节海报的教程,中秋节马上到了,学习制作一个中秋海报也不错,请看下文详细介绍。软件名称:Adobe Photoshop 8.0 中文完整绿色破解版软件大小:150.1MB更新时间:2015-11-041、新建图层填充颜…

PS怎么制作透明的彩色线稿图?

PS怎么制作透明的彩色线稿图?

透明,彩色,电脑软件,PS,线稿图,大多数人提到PS时想到的是修图,磨皮。接下来给大家介绍新的玩法:如何使用PS制作透明彩色线稿图。软件名称:Adobe Photoshop 8.0 中文完整绿色破解版软件大小:150.1MB更新时间:2015-11-041、打开一张需要制作的jpg…