PHP通用分页类

一个很好的分页类php分页类 一个很好的分页类一个很好的分页类一个很好的分页类一个很好的分页类一个很好的分页类一个很好的分页类 立即下载
Page.class.php 
<?php
/**
 * 分页类
 * 
 * 调用方式:
 * $p=new Page(总条数,显示页数,当前页码,每页显示条数,[链接]);
 * print_r($p->getPages()); //生成一个页码数组(键为页码,值为链接)
 * echo $p->showPages(1);    //生成一个页码样式(可添加自定义样式)
 * 
 */
 
/*
总条数,需要显示的页数,当前页,每页显示的条数,连接
生成一个一维数组,键为页码 值为连接
返回一个生成好样式的页码(并且可以根据自己需要添加样式)
默认样式 共45条记录,每页显示10条,当前第1/4页 [首页] [上页] [1] [2] [3] .. [下页] [尾页]
*/
class Page{
    protected $count;       //总条数
    protected $showPages;   //需要显示的页数
    protected $countPages;  //总页数
    protected $currPage;    //当前页
    protected $subPages;    //每页显示条数
    protected $href;        //连接
    protected $page_arr=array();    //保存生成的页码 键页码 值为连接
 
    /**
     * __construct  构造函数(获取分页所需参数)
     * @param int $count     总条数
     * @param int $showPages 显示页数
     * @param int $currPage  当前页数
     * @param int $subPages  每页显示数量
     * @param string $href   连接(不设置则获取当前URL)
     */
    public function __construct($count,$showPages,$currPage,$subPages,$href=''){
        $this->count=$count;
        $this->showPages=$showPages;
        $this->currPage=$currPage;
        $this->subPages=$subPages;
         
        //如果链接没有设置则获取当前连接
        if(empty($href)){
            $this->href=htmlentities($_SERVER['PHP_SELF']); 
        }else{
            $this->href=$href;
        }
        $this->construct_Pages();
    }
 
    /**
     * getPages 返回页码数组
     * @return array 一维数组 键为页码 值为链接
     */
    public function getPages(){
        return $this->page_arr;
    }
 
    /**
     * showPages 返回生成好的页码
     * @param  int $style 样式
     * @return string     生成好的页码
     */
    public function showPages($style=1){
        $func='pageStyle'.$style;
        return $this->$func();
    }
 
    /**
     * pageStyle1 分页样式(可参照这个添加自定义样式 例如pageStyle2())
     * 样式 共45条记录,每页显示10条,当前第1/4页 [首页] [上页] [1] [2] [3] .. [下页] [尾页] 
     * @return string 
     */
    protected function pageStyle1(){
        /* 构造普通模式的分页 
        共4523条记录,每页显示10条,当前第1/453页 [首页] [上页] [1] [2] [3] .. [下页] [尾页] 
        */
        $pageStr='共'.$this->count.'条记录,每页显示'.$this->subPages.'条';
        $pageStr.='当前第'.$this->currPage.'/'.$this->countPages.'页 ';
 
        $_GET['page'] = 1;
        $pageStr.='<span>[<a href="'.$this->href.'?'.http_build_query($_GET).'">首页</a>] </span>';
        //如果当前页不是第一页就显示上页
        if($this->currPage>1){
            $_GET['page'] = $this->currPage-1;
            $pageStr.='<span>[<a href="'.$this->href.'?'.http_build_query($_GET).'">上页</a>] </span>';
        }
 
        foreach ($this->page_arr as $k => $v) {
            $_GET['page'] = $k;
            $pageStr.='<span>[<a href="'.$v.'">'.$k.'</a>] </span>';
        }
 
        //如果当前页小于总页数就显示下一页
        if($this->currPage<$this->countPages){
            $_GET['page'] = $this->currPage+1;
            $pageStr.='<span>[<a href="'.$this->href.'?'.http_build_query($_GET).'">下页</a>] </span>';
        }
 
        $_GET['page'] = $this->countPages;
        $pageStr.='<span>[<a href="'.$this->href.'?'.http_build_query($_GET).'">尾页</a>] </span>';
 
        return $pageStr;
    }
 
    /**
     * construct_Pages 生成页码数组
     * 键为页码,值为链接
     * $this->page_arr=Array(
     *                  [1] => index.php?page=1
     *                  [2] => index.php?page=2
     *                  [3] => index.php?page=3
     *                  ......)
     */
    protected function construct_Pages(){
        //计算总页数
        $this->countPages=ceil($this->count/$this->subPages);
        //根据当前页计算前后页数
        $leftPage_num=floor($this->showPages/2);
        $rightPage_num=$this->showPages-$leftPage_num;
 
        //左边显示数为当前页减左边该显示的数 例如总显示7页 当前页是5  左边最小为5-3  右边为5+3
        $left=$this->currPage-$leftPage_num;
        $left=max($left,1); //左边最小不能小于1
        $right=$left+$this->showPages-1; //左边加显示页数减1就是右边显示数
        $right=min($right,$this->countPages);  //右边最大不能大于总页数
        $left=max($right-$this->showPages+1,1); //确定右边再计算左边,必须二次计算
         
        for ($i=$left; $i <= $right; $i++) {
            $_GET['page'] = $i;
            $this->page_arr[$i]=$this->href.'?'.http_build_query($_GET);
        }
    }
}
?>
demo.php 
<?php
/**
 * demo
 */
header("content-type:text/html;charset=utf8");
include('Page.class.php');    //引入类
 
//$p=new Page(总条数,显示页数,当前页码,每页显示条数,[链接]);
//连接不设置则为当前链接
$page=isset($_GET['page']) ? $_GET['page'] : 1;
$p=new Page(100,4,$page,8);
 
//生成一个页码数组(键为页码,值为链接)
echo "<pre>";
print_r($p->getPages()); 
 
//样式 共45条记录,每页显示10条,当前第1/4页 [首页] [上页] [1] [2] [3] .. [下页] [尾页]
echo $p->showPages(1); 


基于PHP+MySQL实现分页技术 基于PHP+MySQL实现分页技术 一、 开发环境 1、环境搭建:Windows 7+Apache 2.4.18+MySQL 5.7.11+PHP 7.1.0。 2、文本编辑器:Sublime 3。 二、主要技术 本案例使用PHP 7中的PDO数据对象对MySQL数据库进行操作,通过使用PDO对页码、偏移量、URL等变量进行传递,从而实现分页条的制作。 立即下载

相关推荐

通过CRC32爆破修改图片的宽高 ctf-misc图片隐写

** 一.在处理图片隐写题的时候,可能会修改图片原有的宽高,导致图片里面的内容无法正常显示,那么怎么判断它的宽高是否被修改了呢? ** 1.把图片拖进010editor中会发现左下角提示CRC不匹配,这是因为修改了高宽,却没有修改CRC,导致读取报错。 2.在linux中CRC32错误的图片是无法打开的,也可以利用pngcheck检查图片,会提示CRC32校验错误 ** 二.既然知道了CRC校验码错误,那么如何修改呢? 首先我们要知道CRC32是有哪些字节构成的 ** PNG文件中总是以固定的八个字节开

weixin_44145452的博客 1万+

php常用分页类,php 常用分页类

/*** filename: page.class.php* 2.0增加功能:支持自定义风格,自定义样式,同时支持PHP4和PHP5,* example:* 可以自定义多模式分页模式:require_once('../libs/classes/page.class.php');$page=new page(array('total'=>1000,'perpage'=>20));echo...

weixin_35915120的博客 325

华为设备OSPF配置全流程:从邻居关系到区域划分实战指南

本文详细介绍了华为设备上OSPF协议的完整配置流程,从基础概念到实战操作,包括邻居关系建立、多区域划分及高级特性配置。特别针对华为设备的特有语法和验证命令进行了重点讲解,帮助网络工程师快速掌握OSPF在华为环境中的部署与优化技巧,提升网络配置效率。

weixin_29299807的博客 251

php 万能分页类,两款万能的php分页类_PHP

本文为大家分享个超级好用、万能的php分页类,具体的实现代码如下第一款php分页类init(1000, 20);* $page->setNotActiveTemplate('{a}');* $page->setActiveTemplate('{a}');* echo $page->show();*** @author 风居住的地方*/class Page {/*** 总条数*/p...

weixin_32965503的博客 410

【教程4>第4章>第22节】FFT频偏估计方法,导频+cordic频偏估计方法,costas环的性能对比

频偏范围适应性:Costas 环频偏锁定和基于 PN 导频和 CORDIC 算法的频偏估计都可以通过调整参数来适应一定范围的频偏,但 Costas 环的频率捕获范围相对较窄,而基于 PN 导频和 CORDIC 算法的频偏估计,基于 FFT 变换频偏估计对频偏范围较大。在高信噪比条件下,三种方法都可以获得较高的估计精度,但在低信噪比环境中,基于 PN 导频和 CORDIC 算法的频偏估计,基于 FFT 变换频偏估计这两个开环方案相对更具优势,而Costas 环频偏锁定的精度可能会受到较大影响.

FPGA/MATLAB学习教程/源码/项目合作开发 610

GPU服务器维修全流程:从检测到解锁

《GPU服务器维修维保全流程指南》摘要:本文系统介绍GPU服务器从检测到解锁的完整维修流程。检测环节包含物理检查(氧化层、散热、PCB板)和电子诊断(ECC报错率、电源波动等);核心维修技术涵盖PCB板修复(微孔镀铜、BGA返修)和芯片级维修(成功率78-92%);解锁验证阶段包括性能解锁(VBIOS重写)和72小时稳定性测试。文末提供故障速查表及维保建议,强调定期除尘可降低38%故障率,推荐环境粉尘浓度控制在≤0.3mg/m³。

2401_89353317的博客 891

封装php分页类

最近在用phalcon写一个支持多国语言的cms,不太喜欢phalcon的分页,所以自己写了个分页工具类。 该分页类支持自动获取解析url,还支持高度自定义 例如: 自定义分页参数名 自定义选中页、禁用页的class值 自定义首页、上一页、左边页、当前页、右边页、下一页、后缀 自定义各按钮位置 自定义左边或右边显示按钮个数 自定义替换规则 自定义是否显示无效按钮(首页、上一页、下一页、尾页...

赵阳的博客 4225

Claude Code 完整详解(Anthropic 官方 AI 编程 Agent)

它是运行在终端(Terminal)的 AI 编程代理,不是普通 IDE 插件;你用自然语言发指令,它自主规划步骤、读写项目文件、执行系统命令、排查 Bug、处理 Git 工作流,是能真正动手干活的 AI 程序员。真正的AI 开发代理人,不止写代码,还能执行开发全流程超长全局上下文,大型项目理解碾压传统补全工具终端原生 + IDE 双接入,开发流程无割裂代码质量、可读性、工程规范性普遍偏高权限安全机制完善,修改前预览、可随时中断回滚。

wange6906的博客 3156

php完整的分页类_php自定义分页类完整实例

header("Content-type:text/html;Charset=utf-8");class SubPages{private $each_disNums;//每页显示的条目数private $nums;//总条目数private $current_page;//当前被选中的页private $sub_pages;//每次显示的页数private $pageNums;//总页数priv...

weixin_39861624的博客 216

UDPProbe UDP端口存活探测(发送特征包+响应分析)、UDP服务识别

qDebug() << "收到响应:" << ip.toString() << ":" << port << " 服务:" << serviceName << " 响应长度:" << response.size();qDebug() << "开始探测:" << targetIp << ":" << port << " 超时时间:" << timeout << "ms";qInfo() << "\n==================== UDP探测结果 ====================";

寒寒豆豆软件公司的博客 148

Android 13.0 开机启动优化之PMS扫描apk耗时相关功能优化

在android13.0的系统rom定制化开发中,在系统中开发产品时,会根据客户要求内置第三方app,这时如果内置app过多,或者安装的app过多,在系统开机的过程中 在pms扫描安装app的时候,就会比较耗时,这时候就需要优化下pms扫描安装app这块的功能代码,用多线程来实现pms扫描安装app,来加快开机时间,接下来 来实现这个功能

安卓兼职framework和app工程师的博客 1333

php函数封装完美分页,封装好的PHP分页类,简单好用

/*** class Pagination** 独立分页类* 调用方式:* $pagenation = new Pagination( 4, 10, 200 ); // 4(第一个参数) = currentPage, 10(第二个参数) = pageSize, 200(第三个参数) = 总数* $pagenation->set_link( 'http://www.360hqb.co...

weixin_34307029的博客 242

SAP S/4HANA 数据归档的实施方法

实施 SAP S/4HANA 数据归档是一个系统的过程,涉及到策略的定义、技术的执行以及后续的维护和验证。正确的归档策略不仅能优化系统性能,还能帮助企业降低运营成本,确保数据安全,并符合相关法律法规的要求。通过以上案例,我们可以看到不同行业如何依据自己的业务需求和法规要求,利用 SAP S/4HANA 的强大功能来实现数据归档的目标。这些实践证明了数据归档在现代企业信息管理中的重要地位和作用。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 890

php通用分页类

    终于完成php的通用分页类了!呵,,有点高兴!以前说过要写一个这样的类的,无奈工作实在太忙,所以拖了下来。幸好今天是五一长假的最后一天,提前赶了回来,趁着老板不在,拼凑了出来。   还没有进行全面的测试,可能还存在各种的Bug,如果谁发现了,请告知一下,以便能及时的收正,谢谢!   源码如下:   类名:php通用分页类   功能:实现php中常用的页面分页,提供图像文

hkmgjsf的专栏 1192

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

PHP通用分页类-page.php

PHP通用分页类。本代码是用于cd2sc.com分页用的,稍做修改可用于各种程序。 使用方式请参考本人文章。 page.php

紫在川上曰 457

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

php pager,PHP通用分页(Pager)类

三种不同展示方式 附上style~1. 效果图12.效果图23. 效果图34.分页类主体/*** PHP通用分页类** show(2) 1 ... 62 63 64 65 66 67 68 ... 150* 分页样式* #page{font:12px/16px arial}* #page span{float:left;margin:0px 3px;}* #page a{float:left;m...

weixin_33308577的博客 357

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

php通用分页类代码,php通用分页类

weixin_39602108的博客 149

PHP通用分页(Pager)类

三种不同展示方式 附上style~ 1. 效果图1 2.效果图2  3. 效果图3 4. 分页类主体 001 002 /** 003  * PHP通用分页类 004

bushiyao_的专栏 965

PHP通用分页(类)

PHP通用分页(类) http://code.knowsky.com/down/17079.html

ydqs_long的博客 189

php分页类示例下载,PHP 通用分页类的简单示例

这篇文章主要为大家详细介绍了PHP 通用分页类的简单示例,具有一定的参考价值,可以用来参考一下。对PHP通用分页类感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧!写了个php的通用分页类使用方法很简单在实例化对象时只需要给他传个"每页显示记录数"和"总记录数"就可以了include_once("pages_class.php"); 连接db省略.....得到总记录数在此省略.........

weixin_42137028的博客 167

PHP通用分页(Pager)类

三种不同展示方式 附上style~ 1. 效果图1 2.效果图2    3. 效果图3 4. 分页类主体 &lt;?php /** * PHP通用分页类 * show(2) 1 ... 62 63 64 65 66 67 68 ... 150 * 分页样式 * #page{font:12px/16px arial} * #page span{flo...

weixin_33918114的博客 233

[导入]PHP通用分页类

如果你学过Asp.net,你一定知道它里面有一个叫datalist之类自带的分页功能十分强大,这里的这个类就模拟了一部份这个功能,我敢用“强大”来定义它,是因为作为一个通用的页类,这个类真正做到了“通用”。废话少说,马上介绍一下是如何使用的。1、先新建一个用于测试的表CREATE TABLE `test` (`aa` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,...

weixin_33758863的博客 93

php通用分页类“升级”

 这两天我做网站要用到上几天写的php通用分页类时,才发现,原来这个类漏一个功能-----列出页码。连忙就给补上了:   //页码 function list_page($f_num=4,$l_num=3,$tran_str="…",$str="",$class_name="")//列出页码。如"[1] [2] [3]……[6][7]"。$f_num为省略号前显示的页码数,$l_num

hkmgjsf的专栏 1013
上一篇: PHP程序自杀
下一篇: PHP之使用FFMPEG获取视频缩略图
煜楷
博客等级 码龄10年 1万+粉丝 585原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值