php分页示例分享


Posted in PHP onApril 30, 2014
//分页函数 第一页: url/1 第二页: url/2
function pages($url, $totalnum, $page, $pagesize = 20) {
    $urladd = '';
    $url .= '/';    $totalpage = ceil($totalnum / $pagesize);
    if($totalpage < 2) return '';
    $page = min($totalpage, $page);
    $shownum = 5;   // 显示多少个页 * 2
    $start = max(1, $page - $shownum);
    $end = min($totalpage, $page + $shownum);
    // 不足 $shownum,补全左右两侧
    $right = $page + $shownum - $totalpage;
    $right > 0 && $start = max(1, $start -= $right);
    $left = $page - $shownum;
    $left < 0 && $end = min($totalpage, $end -= $left);
    $s = '';
    $page != 1 && $s .= '<a href="'.$url.($page - 1).$urladd.'">◀</a>';
    if($start > 1) $s .= '<a href="'.$url.'1'.$urladd.'">1 '.($start > 2 ? '... ' : '').'</a>';
    for($i=$start; $i<=$end; $i++) {
        if($i == $page) {
            $s .= '<a href="'.$url.$i.$urladd.'" class="checked">'.$i.'</a>';// checked
        } else {
            $s .= '<a href="'.$url.$i.$urladd.'">'.$i.'</a>';
        }
    }
    if($end != $totalpage) $s .= '<a href="'.$url.$totalpage.$urladd.'">'.($totalpage - $end > 1 ? '... ' : '').$totalpage.'</a>';
    $page != $totalpage && $s .= '<a href="'.$url.($page + 1).$urladd.'">▶</a>';
    return $s;
}
<br>
function mid($n, $min, $max) {
    if($n < $min) return $min;
    if($n > $max) return $max;
    return $n;
}
function page($page, $n, $pagesize) {
    $total = ceil($n / $pagesize);
    $total < 1 AND $total = 1;
    return mid($page, 1, $total);
}

后端部分,我们几句就可以搞定。

$pagesize = 20;    //每页显示多少用户
$n = user_count();      //总用户数
$page = page($page, $n, $pagesize);  //当前页数
$userlist = user_find($page, $pagesize);  //查找出当前页的用户
//html部分,分页效果,直接渲染到页面即可
$pagehtml = pages(url前缀, $n, $page, $pagesize);
PHP 相关文章推荐
php 远程关机操作的代码
Dec 05 PHP
PHP取整函数:ceil,floor,round,intval的区别详细解析
Aug 31 PHP
PHP基础知识介绍
Sep 17 PHP
php中的动态调用实例分析
Jan 07 PHP
PHP实现清除wordpress里恶意代码
Oct 21 PHP
Yii安装与使用Excel扩展的方法
Jul 13 PHP
Mac下php 5升级到php 7的步骤详解
Apr 26 PHP
PHP 传输会话curl函数的实例详解
Sep 12 PHP
php在windows环境下获得cpu内存实时使用率(推荐)
Feb 08 PHP
php 替换文章中的图片路径,下载图片到本地服务器的方法
Feb 06 PHP
ThinkPHP5&amp;5.1实现验证码的生成、使用及点击刷新功能示例
Feb 07 PHP
关于Anemometer图形化显示MySQL慢日志的工具搭建及使用的详细介绍
Jul 13 PHP
yii框架配置默认controller和action示例
Apr 30 #PHP
yii框架通过控制台命令创建定时任务示例
Apr 30 #PHP
yii框架builder、update、delete使用方法
Apr 30 #PHP
yii框架表单模型使用及以数组形式提交表单数据示例
Apr 30 #PHP
php+js iframe实现上传头像界面无跳转
Apr 29 #PHP
php数组查找函数in_array()、array_search()、array_key_exists()使用实例
Apr 29 #PHP
PHP的MVC模式实现原理分析(一相简单的MVC框架范例)
Apr 29 #PHP
You might like
详解PHP原生DOM对象操作XML的方法
2016/10/17 PHP
php 截取中英文混合字符串的方法
2018/05/31 PHP
JavaScript 的继承
2011/10/01 Javascript
js 字符串转换成数字的三种方法
2013/03/23 Javascript
用正则表达式替换图片地址img标签
2013/11/22 Javascript
js传中文参数controller里获取参数乱码问题解决方法
2014/01/03 Javascript
加载列表时jquery获取ul中第一个li的属性
2014/11/02 Javascript
jQuery实现点击按钮弹出可关闭层的浮动层插件
2015/09/19 Javascript
快速学习jQuery插件 Form表单插件使用方法
2015/12/01 Javascript
详解Javascript获取缓存和清除缓存API
2017/05/25 Javascript
AngularJS实现页面跳转后自动弹出对话框实例代码
2017/08/02 Javascript
js统计页面上每个标签的数量实例代码
2018/05/29 Javascript
js的对象与函数详解
2019/01/21 Javascript
node(koa2) web应用模块介绍详解
2019/03/29 Javascript
Vue.js如何使用Socket.IO的示例代码
2019/09/05 Javascript
javascript中的offsetWidth、clientWidth、innerWidth及相关属性方法
2020/05/14 Javascript
pymongo实现控制mongodb中数字字段做加法的方法
2015/03/26 Python
Python socket编程实例详解
2015/05/27 Python
python实现关键词提取的示例讲解
2018/04/28 Python
Python实现的爬取小说爬虫功能示例
2019/03/30 Python
python ChainMap 合并字典的实现步骤
2019/06/11 Python
kafka监控获取指定topic的消息总量示例
2019/12/23 Python
python微信公众号开发简单流程实现
2020/03/09 Python
Python Django中间件使用原理及流程分析
2020/06/13 Python
pycharm 2020.2.4 pip install Flask 报错 Error:Non-zero exit code的问题
2020/12/04 Python
Java中实现多态的机制
2015/08/09 面试题
测控技术与仪器个人求职信范文
2013/12/30 职场文书
汉语言文学专业自荐信
2014/06/11 职场文书
党员干部反四风民主生活会对照检查材料思想汇报
2014/10/12 职场文书
学习党的群众路线教育实践活动剖析材料
2014/10/13 职场文书
工作证明英文模板
2014/10/21 职场文书
世界遗产导游词
2015/02/13 职场文书
学校教代会开幕词
2016/03/04 职场文书
吃通javascript正则表达式
2021/04/21 Javascript
Python基础之函数嵌套知识总结
2021/05/23 Python
vue中的可拖拽宽度div的实现示例
2022/04/08 Vue.js