-
Php自用分页函数程序代码
一个简单好用的Php自用分页函数,有需要使用分页函数又不想手写的朋友可进入参考,代码如下:
- /*
- * 前台分页
- *
- * $page_array = array(
- * 'totle' =>10, //总数
- * 'dispage' =>10, //每页显示条数
- * 'url' =>'/article/list/',//url地址
- * 'now_page', =>1, //当前所在页数
- * );
- *
- * @return pagenav
- */
- function front_page( $page_array ){
- //分页判断
- $lastpage = ceil($page_array['total'] / $page_array['dispage']); //最后一页
- $page_array['now_page'] = min( $lastpage , $page_array['now_page'] );//比较当前页数和最后一页
- $prepage = $page_array['now_page'] - 1;//上一页
- $nextpage = ($page_array['now_page'] == $lastpage ? 0 : $page_array['now_page'] + 1 );//下一页
- $firstcount = ($page_array['now_page']-1) * $page_array['dispage'];
- if( $lastpage <= 1) return false;//最后一页小于1,则直接返回
- //首页
- if($prepage){
- $page_array[]="<a href='{$page_array['url']}"."1/'>首页</a>";
- }else{
- $page_array[]="<span class=\"nolink\">首页</span>";
- }
- //上一页
- if($prepage) {
- $page_array[]="<a href='{$page_array['url']}$prepage/'> 上一页 </a> ";
- }else{
- $page_array[]='';
- }
- //显示的数字分页条数
- $pagenum=5;
- $offset=2;//偏移两
- $from=$page_array['now_page'] - $offset;//起始
- $to=$page_array['now_page'] + $pagenum-$offset-1;//终止
- if($pagenum>$lastpage){
- $from=1;
- $to=$lastpage;
- }else{
- if($from<1){
- $to=$page_array['now_page'] + 1 - $from;
- $from=1;
- if(($to-$from)<$pagenum && ($to-$from)<$lastpage){
- $to=$pagenum;
- }
- }elseif($to>$lastpage){
- $from=$page_array['now_page'] - $lastpage+$to;
- $to=$lastpage;
- if(($to-$from)<$pagenum && ($to-$from)<$lastpage){
- $from=$lastpage-$pagenum+1;
- }
- }
- }
- for($i=$from;$i<=$to;$i++){
- if($i == $page_array['now_page']){
- $pagenav.="<a href=\"#\" title=\"\">$i</a> ";
- }else{
- $pagenav.="<a href=\"{$page_array['url']}$i/\" title=\"\">$i</a> ";
- }
- }
- //数字分页
- $page_array[]= $pagenav;
- //下一页
- if($nextpage){
- $page_array[]="<a href='{$page_array['url']}"."$nextpage/'> 下一页 </a> ";
- }else {
- $page_array[]='';
- }
- //尾页
- if($nextpage){
- $page_array[]="<a href='{$page_array['url']}"."$lastpage/'>尾页</a>";
- }else{
- $page_array[]='<span class="nolink">尾页</span>';
- }
- //记录数
- $page_array[]="<span>每页 ".$page_array['dispage']." 条</span> <span>共 ".$page_array['total']." 条纪录</span>";
- //分页数
- $page_array[]="共 ".$lastpage." 页";
- //跳页
- $page_array[] = '<span>跳转到:</span><input size="4" id="pagenu" type="text" onkeydown="javascript:if(event.keyCode==13){var page=(this.value<0)?1:this.value;location=\''.$page_array['url'].'\'+page;}" /> //开源软件:phpfensi.com
- <a href="javascript:void(0)" onclick="javascript:var spage=(window.document.getElementById(\'pagenu\').value==\'\')?1:window.document.getElementById(\'pagenu\').value;location=\''.$page_array['url'].'\'+spage;">Go</a>';
- //第一页总数
- $firstcount=$firstcount < 1 ? 0 : $firstcount;
- return array('pagenav'=>$page_array,'limit'=>$firstcount,'offset'=> $page_array['dispage'],'allpage'=>$lastpage);
- }
出处:http://www.phpfensi.com/php/20150410/9174.html
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比
一款纯 JS 实现的轻量化图片编辑器
关于开发 VS Code 插件遇到的 workbench.scm.
前端设计模式——观察者模式
前端设计模式——中介者模式
创建型-原型模式