本文实例为大家分享了php封装显示页码的分页类,供大家参考,具体内容如下

一、代码

conn.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

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.="首页 ";//输出有链接的文字

$message.="page-1)."'>上一页  ";//输出有链接的文字

}

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.="".$i."\n";//输出有链接的数字

}

}

if($this->page==$this->pages){//如果当前页等于最大页数

$message.="  下一页 尾页";//显示没有链接的文字

}else{

$message.="  page+1)."'>下一页 ";//显示有链接的文字

$message.="pages."'>尾页";//显示有链接的文字

}

return $message;//返回变量的值

}

}

?>

ID: 标题 内容 时间

$p=new Page('3','3','tb_demo01');

$rs=$p->sel();

while($rst=mysql_fetch_row($rs)){

?>

<?php echo $rst[0] ?><?php echo $rst[1] ?><?php echo $rst[2] ?><?php echo $rst[3] ?>

echo $p->myPage();

?>

二、运行结果

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

phppage类封装分页功能_php显示页码分页类的封装相关推荐

  1. php显示固定页码,php显示页码分页类的封装

    搜索热词 本文实例为大家分享了PHP封装显示页码的分页类,供大家参考,具体内容如下 一.代码 conn.PHP PHP;"> connect(); } public function ...

  2. 【vue分页功能】vue element 分页组件简简单单实现分页功能详细教学

    文章目录 vue分页功能实现 一.直接上代码 二.需要注意的事项 vue分页功能实现 一.直接上代码 // 列表结构 // 重点:data="pageList" <el-ta ...

  3. phppage类封装分页功能_PHP封装的page分页类定义与用法完整示例

    本文实例讲述了PHP封装的page分页类定义与用法.分享给大家供大家参考,具体如下: 亲测有效,见下图=========> 1. 测试实例test.php header("Conten ...

  4. phppage类封装分页功能_php封装的page分页类完整实例代码

    效果图 1.测试实例test.php header("Content-Type: text/html; charset=utf-8"); date_default_timezone ...

  5. php 如何实现分页功能,php如何实现分页功能

    分页效果在网页中是常见的,可是怎样才能实现分页呢,今天做了两种方法来实现一下分页的效果. 首先,我们需要准备在数据库里面准备一个表,并且插入数据,这些都是必需的前提工作了,不多说,如图所示(库名为je ...

  6. mysql分页案例_php+mysql 进行分页案例

    分页 //分页的函数 function news($pageNum = 1, $pageSize = 3) { $array = array(); $coon = mysqli_connect(&qu ...

  7. oracle 数据分页功能,Oracle数据库实现分页功能

    无详细内容 无 create or replace procedure pro_page(table_name in varchar2,page in number,line in number,in ...

  8. spring boot+mybatis+thymeleaf+pagehelper分页插件实现分页功能

    文章目录 前言 正文 业务场景 后端 pom.xml application.yml 实体类video.java和User.java----映射VideoMapper.xml----VideoMapp ...

  9. Asp.net GridView分页功能的实现

    最近学习了Asp.net的GridView分页的实现,当然,GridView自带分页功能,但是这个分页功能的后台数据库操作的时候仍是 需要查询出所有的记录,只是前台页面显示GridView的时候有一种 ...

最新文章

  1. 每日一技|巧用 Telnet 调试 Dubbo 服务
  2. intellij idea不显示git push按钮的解决办法
  3. 计算机的组成和Linux的发行版本介绍
  4. JDK源码解析之 java.lang.Class
  5. [工具类]DataTable与泛型集合List互转
  6. codeforces 966c//Big Secret// Codeforces Round #477 (Div. 1)
  7. 电子基础大全:整理了电子设计所需的基础知识
  8. Word中无法插入公式的解决方案
  9. 您的计算机无法正常启动,3种简单的方法 修复错误 ‘您的电脑无法正常启动’...
  10. cracking the pm interview_2020泰晤士报THE世界大学排名发布!如何凭艺术冲进大U名校?...
  11. Qt警告:Missing reference in range-for with non trivial type (QString) [clazy-range-loop]
  12. 揭秘!谷歌云确立领先地位的五大变革
  13. 海康威视错误代码0xf_海康威视视频智能分析整理文档
  14. Flink 实时数仓伪分布虚拟机 (所有组件部署完成)
  15. 矩阵的定义——MATLAB
  16. 高分辨率对地观测系统重大科技专项简介
  17. 使用setViewControllers实现一些不同寻常的跳转
  18. PET不干胶标签发展趋势
  19. teamviewer有linux安装教程,teamviewer linux版安装教程
  20. 大型网站Mysql的演变史

热门文章

  1. 从ASP.NET Core2.2到3.0你可能会遇到这些问题
  2. 迎元旦,庆surging 1.0发布
  3. Asp.Net Core 使用Quartz基于界面画接口管理做定时任务
  4. 跨平台的.NET邮件协议MailKit组件解析
  5. 大数据项目实践:基于hadoop+spark+mongodb+mysql开发医院临床知识库系统
  6. 使用VS2015进行C++开发的6个主要原因
  7. 目前市场上用于个人计算机的硬盘尺寸是,第5章-硬盘(计算机组装与维护).docx
  8. Visual Studio 2019 16.3.10 初体验
  9. 【EPS精品教程】基于DOM和DSM创建垂直模型、加载垂直模型
  10. C和指针之函数递归实现把amount表示的值转换为单词形式written_amount(unsigned int amount,char *buffer)