php显示页码分页类的封装
发布时间 - 2026-01-11 01:47:31 点击率:次本文实例为大家分享了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();
?>
二、运行结果
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# 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
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程
如何安全更换建站之星模板并保留数据?
Laravel中间件如何使用_Laravel自定义中间件实现权限控制
长沙做网站要多少钱,长沙国安网络怎么样?
Laravel如何使用Telescope进行调试?(安装和使用教程)
郑州企业网站制作公司,郑州招聘网站有哪些?
iOS中将个别页面强制横屏其他页面竖屏
实现点击下箭头变上箭头来回切换的两种方法【推荐】
Laravel如何使用withoutEvents方法临时禁用模型事件
成都品牌网站制作公司,成都营业执照年报网上怎么办理?
如何在IIS中配置站点IP、端口及主机头?
bing浏览器学术搜索入口_bing学术文献检索地址
laravel怎么配置和使用PHP-FPM来优化性能_laravel PHP-FPM配置与性能优化方法
Laravel怎么使用Intervention Image库处理图片上传和缩放
如何用低价快速搭建高质量网站?
谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复
Python文件异常处理策略_健壮性说明【指导】
javascript如何操作浏览器历史记录_怎样实现无刷新导航
Laravel怎么生成URL_Laravel路由命名与URL生成函数详解
js实现点击每个li节点,都弹出其文本值及修改
b2c电商网站制作流程,b2c水平综合的电商平台?
JavaScript Ajax实现异步通信
rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted
Laravel路由Route怎么设置_Laravel基础路由定义与参数传递规则【详解】
,南京靠谱的征婚网站?
如何用美橙互联一键搭建多站合一网站?
如何快速搭建安全的FTP站点?
Python文件流缓冲机制_IO性能解析【教程】
Windows10如何删除恢复分区_Win10 Diskpart命令强制删除分区
Laravel怎么使用Session存储数据_Laravel会话管理与自定义驱动配置【详解】
浅述节点的创建及常见功能的实现
微信小程序 闭包写法详细介绍
Laravel Seeder填充数据教程_Laravel模型工厂Factory使用
Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】
英语简历制作免费网站推荐,如何将简历翻译成英文?
如何登录建站主机?访问步骤全解析
Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性
Laravel如何实现文件上传和存储?(本地与S3配置)
Python高阶函数应用_函数作为参数说明【指导】
Laravel如何处理文件下载请求?(Response示例)
Laravel怎么实现支付功能_Laravel集成支付宝微信支付
Laravel模型事件有哪些_Laravel Model Event生命周期详解
Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门
Laravel如何集成Inertia.js与Vue/React?(安装配置)
bootstrap日历插件datetimepicker使用方法
php做exe能调用系统命令吗_执行cmd指令实现方式【详解】
小米17系列还有一款新机?主打6.9英寸大直屏和旗舰级影像
Python企业级消息系统教程_KafkaRabbitMQ高并发应用
使用C语言编写圣诞表白程序
Swift中switch语句区间和元组模式匹配

