phppage类封装分页功能_php显示页码分页类的封装
本文实例为大家分享了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显示页码分页类的封装相关推荐
- php显示固定页码,php显示页码分页类的封装
搜索热词 本文实例为大家分享了PHP封装显示页码的分页类,供大家参考,具体内容如下 一.代码 conn.PHP PHP;"> connect(); } public function ...
- 【vue分页功能】vue element 分页组件简简单单实现分页功能详细教学
文章目录 vue分页功能实现 一.直接上代码 二.需要注意的事项 vue分页功能实现 一.直接上代码 // 列表结构 // 重点:data="pageList" <el-ta ...
- phppage类封装分页功能_PHP封装的page分页类定义与用法完整示例
本文实例讲述了PHP封装的page分页类定义与用法.分享给大家供大家参考,具体如下: 亲测有效,见下图=========> 1. 测试实例test.php header("Conten ...
- phppage类封装分页功能_php封装的page分页类完整实例代码
效果图 1.测试实例test.php header("Content-Type: text/html; charset=utf-8"); date_default_timezone ...
- php 如何实现分页功能,php如何实现分页功能
分页效果在网页中是常见的,可是怎样才能实现分页呢,今天做了两种方法来实现一下分页的效果. 首先,我们需要准备在数据库里面准备一个表,并且插入数据,这些都是必需的前提工作了,不多说,如图所示(库名为je ...
- mysql分页案例_php+mysql 进行分页案例
分页 //分页的函数 function news($pageNum = 1, $pageSize = 3) { $array = array(); $coon = mysqli_connect(&qu ...
- oracle 数据分页功能,Oracle数据库实现分页功能
无详细内容 无 create or replace procedure pro_page(table_name in varchar2,page in number,line in number,in ...
- spring boot+mybatis+thymeleaf+pagehelper分页插件实现分页功能
文章目录 前言 正文 业务场景 后端 pom.xml application.yml 实体类video.java和User.java----映射VideoMapper.xml----VideoMapp ...
- Asp.net GridView分页功能的实现
最近学习了Asp.net的GridView分页的实现,当然,GridView自带分页功能,但是这个分页功能的后台数据库操作的时候仍是 需要查询出所有的记录,只是前台页面显示GridView的时候有一种 ...
最新文章
- 每日一技|巧用 Telnet 调试 Dubbo 服务
- intellij idea不显示git push按钮的解决办法
- 计算机的组成和Linux的发行版本介绍
- JDK源码解析之 java.lang.Class
- [工具类]DataTable与泛型集合List互转
- codeforces 966c//Big Secret// Codeforces Round #477 (Div. 1)
- 电子基础大全:整理了电子设计所需的基础知识
- Word中无法插入公式的解决方案
- 您的计算机无法正常启动,3种简单的方法 修复错误 ‘您的电脑无法正常启动’...
- cracking the pm interview_2020泰晤士报THE世界大学排名发布!如何凭艺术冲进大U名校?...
- Qt警告:Missing reference in range-for with non trivial type (QString) [clazy-range-loop]
- 揭秘!谷歌云确立领先地位的五大变革
- 海康威视错误代码0xf_海康威视视频智能分析整理文档
- Flink 实时数仓伪分布虚拟机 (所有组件部署完成)
- 矩阵的定义——MATLAB
- 高分辨率对地观测系统重大科技专项简介
- 使用setViewControllers实现一些不同寻常的跳转
- PET不干胶标签发展趋势
- teamviewer有linux安装教程,teamviewer linux版安装教程
- 大型网站Mysql的演变史
热门文章
- 从ASP.NET Core2.2到3.0你可能会遇到这些问题
- 迎元旦,庆surging 1.0发布
- Asp.Net Core 使用Quartz基于界面画接口管理做定时任务
- 跨平台的.NET邮件协议MailKit组件解析
- 大数据项目实践:基于hadoop+spark+mongodb+mysql开发医院临床知识库系统
- 使用VS2015进行C++开发的6个主要原因
- 目前市场上用于个人计算机的硬盘尺寸是,第5章-硬盘(计算机组装与维护).docx
- Visual Studio 2019 16.3.10 初体验
- 【EPS精品教程】基于DOM和DSM创建垂直模型、加载垂直模型
- C和指针之函数递归实现把amount表示的值转换为单词形式written_amount(unsigned int amount,char *buffer)