前端分页php,PHP分页类 – 前端开发,JQUERY特效,全栈开发,vue开发
PHP分页类
php
浏览数:385
2019-1-8
per_page = intval($per_page)<1 ? $this->per_page : intval($per_page);//每页显示条数小于1时 默认为10
$this->page_num = ceil( $totle / $this->per_page );
$this->page = isset($_GET[PAGE_NAME]) ? ( (intval($_GET[PAGE_NAME])>0) ? intval($_GET[PAGE_NAME]):1) : 1;//当前页码小于1时默认为第一页
$this->page = $this->page > $this->page_num ? $this->page_num : $this->page;//当前页码超过最大页码时默认为最后一页
$this->html = '';
}
/**
* 私有属性赋值时的错误处理
*/
public function __set( $aa ,$bb){}
/**
* 配置类的私有属性
* $ary array 键值对,键为该类的私有属性
*/
public function set( $ary = array( 'display_str_flag'=>false,
'prev_label'=>'>>',
'next_label'=>'>>',
'first_label'=>'>>',
'last_label'=>'>>',
'adjacent_num'=>5))
{
foreach( $ary as $key=>$value )
{
$this->{$key} = $value;
}
}
/**
* 返回当前URL
*/
private function getURL()
{
$url = $_SERVER["REQUEST_URI"].(strpos($_SERVER["REQUEST_URI"],'?')?'':"?");
$parse=parse_url($url);
if(isset($parse['query']))
{
parse_str($parse['query'],$params);
unset($params[PAGE_NAME]);
$url = $parse['path'].'?'.http_build_query($params);
}
$url .= strpos($url, '?') ? (strpos($url, '=')?'&':'') : '' ;
return $url;
}
/**
* 首页
*/
private function first_page()
{
if( $this->page == 1 )
{
$this->html .= '' . $this->first_label . ''.CR;
}
else
{
$this->html .= '' . $this->first_label . ''.CR;
}
}
/**
* 尾页
*/
private function last_page()
{
if( $this->page == $this->page_num )
{
$this->html .= '' . $this->last_label . ''.CR;
}
else
{
$this->html .= '' . $this->last_label . ''.CR;
}
}
/**
* 上一页
*/
private function prev_page()
{
if( $this->page == 1 )
{
$this->html .= '' . $this->prev_label . ''.CR;
}
else
{
$this->html .= '' . $this->prev_label . ''.CR;
}
}
/**
* 下一页
*/
private function next_page()
{
if( $this->page < $this->page_num)
{
$this->html .= '' . $this->next_label . ''.CR;
}
else
{
$this->html .= '' . $this->next_label . ''.CR;
}
}
/**
* 第一块 第一个省略号前的那块
*/
private function first_block()
{
if( $this->page > ( $this->adjacent_num+1 ) )
{
$this->html.= '1'.CR;
}
if( $this->page > ( $this->adjacent_num+2 ) )
{
$this->html.= '...'.CR;
}
}
/**
* 第二块 两个省略号中间的那块
*/
private function middle_block()
{
$page_min = ( $this->page > $this->adjacent_num ) ? ( $this->page - $this->adjacent_num ) : 1;
$page_max = ( $this->page < ($this->page_num-$this->adjacent_num)) ? ($this->page+$this->adjacent_num) : $this->page_num ;
for( $i=$page_min; $i<=$page_max; $i++)
{
if( $i == $this->page )
{
$this->html .= '' . $i . ''.CR;
}
else
{
$this->html .= '' . $i . ''.CR;
}
}
}
/**
* 最后一块 最后一个省略号后的的那块
*/
private function last_block()
{
if( $this->page < ($this->page_num - $this->adjacent_num - 1))
{
$this->html .= '...'.CR;
}
if( $this->page < ($this->page_num-$this->adjacent_num ))
{
$this->html .= '' . $this->page_num . ''.CR;
}
}
/**
* 显示分页
*
* $out_flag bool 输出和反回分页html的标志 true:直接输出 false:返回分页的html
*
*/
public function display( $out_flag = false )
{
$this->html = '
'.CR;
if( $this->display_str_flag === true )
{//首页和尾页用字符串显示
$this->first_page(); //显示首页
$this->prev_page(); //显示上一页
$this->middle_block(); //显示中间块
$this->next_page(); //显示下一页
$this->last_page(); //显示最后一页
}
else
{//首页和尾页用数字显示
$this->prev_page(); //显示上一页
$this->first_block(); //显示第一块
$this->middle_block(); //显示中间块
$this->last_block(); //显示最后一块
$this->next_page(); //显示下一页
}
$this->html .= '';
if($out_flag === false)
{//返回分页 html码
return $this->html;
}
else
{//输出分页 html码
echo $html;
}
}
}
/*************demo **************/
$page = new page(3,55);
$page->set( $ary = array( 'display_str_flag'=>false,
'prev_label'=>'上',
'next_label'=>'下一页',
'last_label'=>'末',));
echo $page->display();
/*************demo **************/
?>
分页类 ~ 6KB 下载(39)
per_page = intval($per_page)<1 ? $this->per_page : intval($per_page);//每页显示条数小于1时 默认为10
$this->page_num = ceil( $totle / $this->per_page );
$this->page = isset($_GET[PAGE_NAME]) ? ( (intval($_GET[PAGE_NAME])>0) ? intval($_GET[PAGE_NAME]):1) : 1;//当前页码小于1时默认为第一页
$this->page = $this->page > $this->page_num ? $this->page_num : $this->page;//当前页码超过最大页码时默认为最后一页
$this->html = '';
}
/**
* 私有属性赋值时的错误处理
*/
public function __set( $aa ,$bb){}
/**
* 配置类的私有属性
* $ary array 键值对,键为该类的私有属性
*/
public function set( $ary = array( 'display_str_flag'=>false,
'prev_label'=>'>>',
'next_label'=>'>>',
'first_label'=>'>>',
'last_label'=>'>>',
'adjacent_num'=>5))
{
foreach( $ary as $key=>$value )
{
$this->{$key} = $value;
}
}
/**
* 返回当前URL
*/
private function getURL()
{
$url = $_SERVER["REQUEST_URI"].(strpos($_SERVER["REQUEST_URI"],'?')?'':"?");
$parse=parse_url($url);
if(isset($parse['query']))
{
parse_str($parse['query'],$params);
unset($params[PAGE_NAME]);
$url = $parse['path'].'?'.http_build_query($params);
}
$url .= strpos($url, '?') ? (strpos($url, '=')?'&':'') : '' ;
return $url;
}
/**
* 首页
*/
private function first_page()
{
if( $this->page == 1 )
{
$this->html .= '' . $this->first_label . ''.CR;
}
else
{
$this->html .= '' . $this->first_label . ''.CR;
}
}
/**
* 尾页
*/
private function last_page()
{
if( $this->page == $this->page_num )
{
$this->html .= '' . $this->last_label . ''.CR;
}
else
{
$this->html .= '' . $this->last_label . ''.CR;
}
}
/**
* 上一页
*/
private function prev_page()
{
if( $this->page == 1 )
{
$this->html .= '' . $this->prev_label . ''.CR;
}
else
{
$this->html .= '' . $this->prev_label . ''.CR;
}
}
/**
* 下一页
*/
private function next_page()
{
if( $this->page < $this->page_num)
{
$this->html .= '' . $this->next_label . ''.CR;
}
else
{
$this->html .= '' . $this->next_label . ''.CR;
}
}
/**
* 第一块 第一个省略号前的那块
*/
private function first_block()
{
if( $this->page > ( $this->adjacent_num+1 ) )
{
$this->html.= '1'.CR;
}
if( $this->page > ( $this->adjacent_num+2 ) )
{
$this->html.= '...'.CR;
}
}
/**
* 第二块 两个省略号中间的那块
*/
private function middle_block()
{
$page_min = ( $this->page > $this->adjacent_num ) ? ( $this->page - $this->adjacent_num ) : 1;
$page_max = ( $this->page < ($this->page_num-$this->adjacent_num)) ? ($this->page+$this->adjacent_num) : $this->page_num ;
for( $i=$page_min; $i<=$page_max; $i++)
{
if( $i == $this->page )
{
$this->html .= '' . $i . ''.CR;
}
else
{
$this->html .= '' . $i . ''.CR;
}
}
}
/**
* 最后一块 最后一个省略号后的的那块
*/
private function last_block()
{
if( $this->page < ($this->page_num - $this->adjacent_num - 1))
{
$this->html .= '...'.CR;
}
if( $this->page < ($this->page_num-$this->adjacent_num ))
{
$this->html .= '' . $this->page_num . ''.CR;
}
}
/**
* 显示分页
*
* $out_flag bool 输出和反回分页html的标志 true:直接输出 false:返回分页的html
*
*/
public function display( $out_flag = false )
{
$this->html = '
'.CR;
if( $this->display_str_flag === true )
{//首页和尾页用字符串显示
$this->first_page(); //显示首页
$this->prev_page(); //显示上一页
$this->middle_block(); //显示中间块
$this->next_page(); //显示下一页
$this->last_page(); //显示最后一页
}
else
{//首页和尾页用数字显示
$this->prev_page(); //显示上一页
$this->first_block(); //显示第一块
$this->middle_block(); //显示中间块
$this->last_block(); //显示最后一块
$this->next_page(); //显示下一页
}
$this->html .= '';
if($out_flag === false)
{//返回分页 html码
return $this->html;
}
else
{//输出分页 html码
echo $html;
}
}
}
/*************demo **************/
$page = new page(3,55);
$page->set( $ary = array( 'display_str_flag'=>false,
'prev_label'=>'上',
'next_label'=>'下一页',
'last_label'=>'末',));
echo $page->display();
/*************demo **************/
?>
前端分页php,PHP分页类 – 前端开发,JQUERY特效,全栈开发,vue开发相关推荐
- vue学习笔记-01-前端的发展历史(从后端到前端,再到前后端分离,再到全栈)
vue学习笔记-01-前端的发展历史(从后端到前端,再到前后端分离,再到全栈) 这篇文章是博主在看vue-前端发展简史的时候做的笔记,以供后续学习复习 文章目录 vue学习笔记-01-前端的发展历 ...
- (Node+Vue+微信公众号开发)企业级产品全栈开发速成周末班
(Node+Vue+微信公众号开发)企业级产品全栈开发速成周末班 从零到壹全栈部落 产品:个人独立博客,21点见 Vue + Node + MongoDB支持服务端渲染的博客系统(5天) 开发环境技术 ...
- python全栈工程师 pdf_python全栈工程师项目开发实例实战入门教程百度云
python全栈工程师项目开发实例实战入门教程百度云 课程目录: 开学典礼 pycharm的基本使用 Python基本语法 数值类型数据及运算 字符串的基本操作 字符串的常用方法 列表的基本使用 列表 ...
- 软硬结合——写给硬件开发工程师的全栈入门实战
特别注意: 教程已经迁移到:www.scaugreen.cn 软硬结合--写给硬件开发工程师的全栈入门实战 作者水平 读者水平要求 整个项目简单介绍 教程特点 为什么使用nodejs 开始 提问 提问 ...
- H5前端开发入门学习(基于vs+vue开发)
文章仅供初学入门,只讲学习套路,如何去学习,具体知识点不具体叙述. h5开发即无线端的web开发 学习h5开发,整体了解一下各种技术与工具: 常用开发框架 排名前三框架:react.js .vue.j ...
- 普元王文斌:微服务架构开发模式需要全栈团队
容器技术的发展,让微服务的构建变得容易,例如普元公司正在使用Kubenetes作为一个底层的容器调度平台来支撑上层微服务的部署运行.日前,普元普元基础设施架构师王文斌接受CSDN记者专访,介绍了他对微 ...
- Python全栈5 - Web开发入门
5.Python Web开发 1Web 开发介绍 1-1 Web 开发概述 C/S B/S – web开发 访问网站的过程: 静态网站 动态网站 – 网站由于用户的请求不同,而呈现出不同的的结果 MV ...
- 使用Asp.net Core3Blazor 的全栈式网站开发体验
最新的微软视频:Full stack web development with ASP.NET Core 3.0 and Blazor - BRK3017 以下是重要步骤截图配注解,注意图多杀猫: 此 ...
- 小程序 | 基于WAMP的新闻网小程序开发(体验全栈式开发微信小程序)
之前学习微信小程序开发,主要是基于JS.WXML.WXSS的前端开发,对于后端技术不精的我也是使用了微信开发者工具中的云开发功能,但是今天突发奇想,特别想体验一下全栈式开发微信小程序,学习了一下基于W ...
- 全栈开发和web开发_成为全栈开发人员
全栈开发和web开发 This popular article has been updated in June 2017 to include modern technologies. 该热门文章已 ...
最新文章
- [MySQL FAQ]系列 -- MySQL支持绑定到多个ip上吗
- linux 虚拟机不能启动不了系统,虚拟机更改linux初始启动5,出现无法启动现象
- laravel ajax评论,javascript-Laravel 5.8尝试进行AJAX调用以删除评...
- ios下划线变量:为什么变量前要加下划线才有用?
- oracle+buffer+busy+wait,Oracle数据库buffer busy wait等待事件 (2)
- RegeX版本更新至2.0.0.4 加入英文语言包
- 判断平面内两直线平行c语言,5.2 平行线及其判定教学设计模板
- 【历史】衣米魔兽怀旧服发展历史事件以及衣米魔兽重要玩家传记
- java itextsharp_ITextSharp 初次接触
- 如何根据经纬度获取地址名称
- pigeon-remoting模块功能分析
- 桌面计算机图标怎么取消,win7图标箭头怎么取消,win7去除电脑桌面图标箭头
- 双手不离键盘,Vim和Vimium扩展
- MXNet使用---复现、训练、测试人脸角度检测FSA-Net(SSR-MT)模型为例
- MTK机器原始OTA更新方法
- “西游记之大圣归来”短评主题分析-Latent Dirichlet Allocation
- 关于虚拟机中安装Ubuntu时界面显示不全的解决办法
- 【学习记录贴16】cesium进行三维发布
- 【封神台 - 掌控安全靶场】尤里的复仇 Ⅰ 小芳!一二三四五六七章
- 如何查看磁盘空间是否够用
热门文章
- 分布式任务调度平台 XXL-JOB
- mysql merge 分区
- 跟着百度学PHP[14]-PDO-优化驱动
- #27 回文数字 Palindrome Detector
- 解决 Error:No suitable device found: no device found for connection quot;System eth0quot;
- 我的阿里梦——淘宝前端必备技能
- The PNP sensor:- This is a sensor who...
- java金额小写转大写(8.2)
- vb 搜索指定目录下的指定类型文件
- 第7章 jQuery中的事件与动画