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 相关文章推荐
Ajax PHP 边学边练 之三 数据库
Nov 26 PHP
《PHP编程最快明白》第五讲:php目录、文件操作
Nov 01 PHP
PHP设计模式之解释器模式的深入解析
Jun 13 PHP
手把手教你打印出PDF(关于fpdf的简单应用)
Jun 25 PHP
两级联动select刷新后其值保持不变的实现方法
Jan 27 PHP
PHP内存缓存Memcached类实例
Dec 08 PHP
php使用PDO操作MySQL数据库实例
Dec 30 PHP
php实现微信发红包
Dec 05 PHP
WordPress中用于获取及自定义头像图片的PHP脚本详解
Dec 17 PHP
PHP大神的十大优良习惯
Sep 14 PHP
PHP实现超简单的SSL加密解密、验证及签名的方法示例
Aug 28 PHP
在Laravel5中正确设置文件权限的方法
May 22 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的mysqli_query参数MYSQLI_STORE_RESULT和MYSQLI_USE_RESULT的区别
2014/09/29 PHP
php出租房数据管理及搜索页面
2017/05/23 PHP
PHP实现防盗链的方法分析
2017/07/25 PHP
PHP实现获取ip地址的5种方法,以及插入用户登录日志操作示例
2019/02/28 PHP
one.php 多项目、函数库、类库 统一为一个版本的方法
2020/08/24 PHP
让getElementsByName适应IE和firefox的方法
2007/09/24 Javascript
asp javascript 实现关闭窗口时保存数据的办法
2007/11/24 Javascript
jquery复选框CHECKBOX全选、反选
2008/08/30 Javascript
javascript document.execCommand() 常用解析
2009/12/14 Javascript
javascript 正则替换 replace(regExp, function)用法
2010/05/22 Javascript
Jquery实现的角色左右选择特效
2014/05/21 Javascript
javascript结合canvas实现图片旋转效果
2015/05/03 Javascript
javascript 判断页面访问方式电脑或者移动端
2016/09/19 Javascript
javascript与PHP动态往类中添加方法对比
2018/03/21 Javascript
解决jquery有正确返回值但不执行success函数的问题
2018/08/20 jQuery
微信小程序scroll-view横向滑动嵌套for循环的示例代码
2018/09/20 Javascript
Vue中通过属性绑定为元素绑定style行内样式的实例代码
2020/04/30 Javascript
[54:25]Ti4 循环赛第三日LGD vs MOUZ
2014/07/12 DOTA
python使用PyFetion来发送短信的例子
2014/04/22 Python
详解python中的线程
2018/02/10 Python
Django 实现下载文件功能的示例
2018/03/06 Python
Django实战之用户认证(用户登录与注销)
2018/07/16 Python
Django JWT Token RestfulAPI用户认证详解
2019/01/23 Python
python为什么会环境变量设置不成功
2020/06/23 Python
webapp字号大小跟随系统字号大小缩放的示例代码
2018/12/26 HTML / CSS
使用phonegap获取设备的一些信息方法
2017/03/31 HTML / CSS
世界领先的高品质定制产品平台:Zazzle
2017/07/23 全球购物
澳大利亚婴儿喂养品牌:Cherub Baby
2018/11/01 全球购物
东南亚冒险旅行与活动:Adventoro
2019/10/16 全球购物
《十六年前的回忆》教学反思
2014/02/14 职场文书
党员批评与自我批评(5篇)
2014/09/23 职场文书
2014镇副书记群众路线专题民主生活会思想汇报
2014/09/23 职场文书
2015年教师见习期工作总结
2015/05/20 职场文书
2016中考冲刺决心书
2015/09/22 职场文书
win11怎么用快捷键锁屏? windows11锁屏的几种方法
2021/11/21 数码科技
java版 简单三子棋游戏
2022/05/04 Java/Android