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 最大运行时间 max_execution_time修改方法
Mar 08 PHP
php 大数据量及海量数据处理算法总结
May 07 PHP
PHP编码转换函数 自动转换字符集支持数组转换
Dec 16 PHP
php实现获取及设置用户访问页面语言类
Sep 24 PHP
配置php.ini实现PHP文件上传功能
Nov 27 PHP
PHP实现HTTP断点续传的方法
Jun 17 PHP
PHP简单处理表单输入的特殊字符的方法
Feb 03 PHP
php判断文件上传图片格式的实例详解
Sep 30 PHP
tp5(thinkPHP5)框架实现多数据库查询的方法
Jan 10 PHP
PHP中检查isset()和!empty()函数的必要性
Feb 13 PHP
关于laravel模板中生成URL的几种模式总结
Oct 18 PHP
如何在centos8自定义目录安装php7.3
Nov 28 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
新闻分类录入、显示系统
2006/10/09 PHP
php中$_REQUEST、$_POST、$_GET的区别和联系小结
2011/11/23 PHP
Zend Framework实现多文件上传功能实例
2016/03/21 PHP
微信支付开发维权通知实例
2016/07/12 PHP
php封装的表单验证类完整实例
2016/10/19 PHP
利用switch语句进行多选一判断的实例代码
2016/11/14 PHP
用js实现计算代码行数的简单方法附代码
2007/08/13 Javascript
JavaScript入门之事件、cookie、定时等
2011/10/21 Javascript
js使下拉列表框可编辑不止是选择
2013/12/12 Javascript
原创jQuery弹出层插件分享
2015/04/02 Javascript
jQuery插件ajaxFileUpload实现异步上传文件效果
2015/04/14 Javascript
jQuery实现仿腾讯迷你首页选项卡效果代码
2015/09/17 Javascript
Bootstrap基本插件学习笔记之标签切换(17)
2016/12/08 Javascript
javascript实现电脑和手机版样式切换
2017/11/10 Javascript
JavaScript插件Tab选项卡效果
2017/11/14 Javascript
js最简单的双向绑定实例讲解
2018/01/02 Javascript
nodejs搭建本地服务器并访问文件操作示例
2019/05/11 NodeJs
小程序使用watch监听数据变化的方法详解
2019/09/20 Javascript
JS函数基本定义与用法示例
2020/01/15 Javascript
react实现复选框全选和反选组件效果
2020/08/25 Javascript
windows系统中python使用rar命令压缩多个文件夹示例
2014/05/06 Python
python使用Apriori算法进行关联性解析
2017/12/21 Python
python 通过麦克风录音 生成wav文件的方法
2019/01/09 Python
Python unittest如何生成HTMLTestRunner模块
2020/09/08 Python
几道数据库的概念性面试题
2014/05/30 面试题
客服工作职责
2013/12/11 职场文书
跟单文员岗位职责
2014/01/03 职场文书
项目开发计划书
2014/01/09 职场文书
五型班组建设方案
2014/02/10 职场文书
幼儿园毕业园长感言
2014/02/24 职场文书
《广玉兰》教学反思
2014/04/14 职场文书
市场营销调查计划书
2014/05/02 职场文书
工作保证书怎么写
2015/02/28 职场文书
三严三实·严以修身心得体会
2016/01/15 职场文书
详解Python如何批量采集京东商品数据流程
2022/01/22 Python
分享一个vue实现的记事本功能案例
2022/04/11 Vue.js