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 中的面向对象编程:通向大型 PHP 工程的办法
Dec 03 PHP
关于zend studio 出现乱码问题的总结
Jun 23 PHP
微信公众平台网页授权获取用户基本信息中授权回调域名设置的变动
Oct 21 PHP
Yii框架组件和事件行为管理详解
May 20 PHP
PHP实现四种基础排序算法的运行时间比较(推荐)
Aug 11 PHP
php实时倒计时功能实现方法详解
Feb 27 PHP
ThinkPHP中获取指定日期后工作日的具体日期方法
Oct 14 PHP
Laravel5.5 实现后台管理登录的方法(自定义用户表登录)
Sep 30 PHP
php服务器的系统详解
Oct 12 PHP
PHP实现笛卡尔积算法的实例讲解
Dec 22 PHP
TP5框架安全机制实例分析
Apr 05 PHP
解决PHPstudy Apache无法启动的问题【亲测有效】
Oct 30 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 加密与解密的斗争
2009/04/17 PHP
php curl post 时出现的问题解决
2014/01/30 PHP
PHP SPL标准库之数据结构堆(SplHeap)简单使用实例
2015/05/12 PHP
如何通过View::first使用Laravel Blade的动态模板详解
2017/09/21 PHP
laravel实现于语言包的完美切换方法
2019/09/29 PHP
WordPress免插件实现面包屑导航的示例代码
2020/08/20 PHP
使用jquery给input和textarea设定ie中的focus
2008/05/29 Javascript
js 页面刷新location.reload和location.replace的区别小结
2009/12/24 Javascript
深入理解JSON数据源格式
2014/01/10 Javascript
jquery左边浮动到一定位置时显示返回顶部按钮
2014/06/05 Javascript
javascript实用方法总结
2015/02/06 Javascript
javascript中callee与caller的区别分析
2015/04/20 Javascript
javascript中返回顶部按钮的实现
2015/05/05 Javascript
js的flv视频播放器插件使用方法
2015/06/23 Javascript
jQuery插件imgPreviewQs实现上传图片预览
2016/01/15 Javascript
Angularjs实现带查找筛选功能的select下拉框示例代码
2016/10/04 Javascript
使用jquery实现的循环连续可停顿滚动实例
2016/11/23 Javascript
巧用Javascript的逻辑运算符
2016/12/02 Javascript
npm国内镜像 安装失败的几种解决方案
2017/06/04 Javascript
探究react-native 源码的图片缓存问题
2017/08/24 Javascript
原生JS实现留言板功能
2020/02/08 Javascript
Python实现的简单文件传输服务器和客户端
2015/04/08 Python
浅谈Python 中整型对象的存储问题
2016/05/16 Python
Django中ORM找出内容不为空的数据实例
2020/05/20 Python
Numpy数组的广播机制的实现
2020/11/03 Python
h5调用摄像头的实现方法
2016/06/01 HTML / CSS
亚洲独特体验旅游专家:eOasia
2018/08/15 全球购物
Visual-Click葡萄牙:欧洲领先的在线眼镜商
2020/02/17 全球购物
运动会入场解说词
2014/02/07 职场文书
税务干部群众路线教育实践活动对照检查材料
2014/09/20 职场文书
毕业生就业推荐表导师评语
2014/12/31 职场文书
鼋头渚导游词
2015/02/05 职场文书
全国爱牙日活动总结
2015/02/05 职场文书
道歉信怎么写
2015/05/12 职场文书
争做文明公民倡议书
2019/06/24 职场文书
分享一些Java的常用工具
2021/06/11 Java/Android