一 代码
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"> <?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封装的page分页类" 是一个专门用于处理这种需求的类库,它简化了PHP分页的实现过程,通过封装核心逻辑,使开发者能够快速、高效地实现分页功能。 首先,我们要理解分页的基本原理。在数据库查询中,如果一次性...
本篇介绍一个封装良好的PHP分页类,该类支持自定义样式、显示形式,并且具有简单的调用方式。 #### 分页类的功能与实现 该PHP分页类提供了丰富的自定义选项,使得开发者可以根据具体需求来定制分页显示的效果。...
- 跳转输入框:提供一个输入框让用户直接输入页码跳转,提高操作便捷性。 9. **错误处理**: 类应包含适当的错误处理机制,当SQL查询失败或分页参数不正确时,能提供有用的错误信息。 总的来说,这个"封装好的...
【PHP显示页码分页类的封装】是一个重要的概念,特别是在处理大数据量的网页展示时。在PHP中,为了提高用户体验,通常会采用分页的方式来显示数据,而不是一次性加载所有内容。下面将详细介绍如何封装一个PHP显示...
创建一个名为`Page`的类,包含初始化、计算总页数、生成分页链接和获取当前页数据的方法。例如: ```php class Page { private $db; private $currentPage; private $itemsPerPage; public function __...
总结,这个“万能”的PHP分页类实例代码为PHP开发者提供了一个强大且灵活的工具,帮助他们高效地实现分页功能,优化用户体验,提高网站性能。通过对类的各个方法进行调整和扩展,可以适应不同的项目需求,实现更加...
这个"php的一个分页类.zip"文件提供了一个预封装的分页类,可以帮助开发者快速实现分页功能,无需从零开始编写代码。下面将详细介绍PHP分页类的核心概念、工作原理以及如何使用。 一、分页类核心概念 1. 总记录数...
本篇文章将详细解析如何封装一个PHP分页工具类,以便在不同项目中重复使用。 首先,我们需要了解分页的基本原理。分页主要涉及两个关键参数:当前页数和每页显示的条目数。通过这两个参数,我们可以计算出从数据库...
本资源“php实现的分页类.zip”提供了一个实用的PHP类库,可以帮助开发者轻松实现网页的分页功能。下面将详细探讨PHP分页类的核心原理、设计模式以及如何在实际项目中应用。 一、分页类的设计原理 1. 计算总页数:...
分页类是一个封装了分页逻辑的对象,它可以计算总页数,生成页码链接,以及根据当前页获取对应的数据。它通过接收总的记录数和每页显示的条数来计算总页数,并根据当前页数来截取数据库查询结果。 2. **工作原理**...
首先,标题提到的“php智能分页类”是一个预封装的PHP类,它的设计目的是简化分页的实现过程,避免开发者手动编写复杂的SQL查询和HTML代码。这样的类通常会包含以下关键组件: 1. **参数设置**:允许开发者设定如每...
本资源提供了一个简单易用的PHP分页类代码,适用于那些希望快速实现分页功能的开发者。下面将详细介绍这个分页类的工作原理和使用方法。 1. 分页类的基本概念 分页类是一种封装了分页逻辑的对象,它通常包含计算...
"PHP分页类curpage"是用于实现这一功能的一个自定义类,下面我们将深入探讨这个类的原理、设计思路以及如何使用。 首先,我们需要理解分页的基本概念。分页通常涉及到两个关键参数:当前页(currentPage)和每页...
为了简化开发过程,可以创建一个PHP分页类,封装上述分页逻辑。分页类通常包括以下功能: 1. 初始化:接收数据库查询语句、每页显示数量、当前页码等参数。 2. 计算总页数:根据查询结果的总记录数进行计算。 3. ...
本资源提供了一个经典的PHP分页类,对于初学者来说,是一个很好的学习起点。下面我们将深入探讨这个分页类的工作原理和关键知识点。 1. **分页类的基本概念** 分页类是一种对象,封装了对数据库查询结果进行分页...
一个分页类通常是一个PHP类文件,它封装了分页所需的所有逻辑,包括计算总页数、生成链接以及控制页面跳转等。这样的类可以方便地在项目中复用,提高代码的可维护性。 描述中提到,这个分页类能够处理URL中存在多个...
这个“一个php数字分页类库.zip”提供的就是一个已经封装好的PHP分页类库,可以帮助开发者快速实现分页功能。 分页的基本原理如下: 1. **获取当前页面**:用户通过URL中的参数(通常是`page`或`p`)来指定当前...
这段代码展示了如何在PHP中设计一个实用的分页类,包括数据库连接、查询和分页逻辑的封装。它不仅提供了数据库连接的灵活性(持久连接或常规连接),还考虑了字符集的问题,以确保数据完整性。分页类则实现了高效的...
标题提到的“一个很好的可以实现PHP分页的类”显然是一种高效的解决方案,它封装了分页的逻辑,使得开发者能够更便捷地在项目中实现分页功能。下面我们将详细探讨PHP分页类的设计原理、实现方法以及如何在实际应用中...