分页类:
<?php
class SubPages{
private $each_disNums;//每页显示的条目数
private $nums;//总条目数
private $current_page;//当前被选中的页
private $sub_pages;//每次显示的页数
private $pageNums;//总页数
private $page_array = array();//用来构造分页的数组
private $subPage_link;//每个分页的链接
private $subPage_type;//显示分页的类型
/*
__construct是SubPages的构造函数,用来在创建类的时候自动运行.
@$each_disNums 每页显示的条目数
@nums 总条目数
@current_num 当前被选中的页
@sub_pages 每次显示的页数
@subPage_link 每个分页的链接
@subPage_type 显示分页的类型
当@subPage_type=1的时候为普通分页模式
example: 共4523条记录,每页显示10条,当前第1/453页 [首页] [上页] [下页] [尾页]
当@subPage_type=2的时候为经典分页样式
example: 当前第1/453页 [首页] [上页] 1 2 3 4 5 6 7 8 9 10 [下页] [尾页]
*/
function __construct($each_disNums,$nums,$current_page,$sub_pages,$subPage_link,$subPage_type){
$this->each_disNums=intval($each_disNums);
$this->nums=intval($nums);
if(!$current_page){
$this->current_page=1;
}else{
$this->current_page=intval($current_page);
}
$this->sub_pages=intval($sub_pages);
$this->pageNums=ceil($nums/$each_disNums);
$this->subPage_link=$subPage_link;
$this->show_SubPages($subPage_type);
//echo $this->pageNums."--".$this->sub_pages;
}
/*
__destruct析构函数,当类不在使用的时候调用,该函数用来释放资源。
*/
function __destruct(){
unset($each_disNums);
unset($nums);
unset($current_page);
unset($sub_pages);
unset($pageNums);
unset($page_array);
unset($subPage_link);
unset($subPage_type);
}
/*
show_SubPages函数用在构造函数里面。而且用来判断显示什么样子的分页
*/
function show_SubPages($subPage_type){
if($subPage_type == 1){
$this->subPageCss1();
}elseif ($subPage_type == 2){
$this->subPageCss2();
}
}
/*
用来给建立分页的数组初始化的函数。
*/
function initArray(){
for($i=0;$i<$this->sub_pages;$i++){
$this->page_array[$i]=$i;
}
return $this->page_array;
}
/*
construct_num_Page该函数使用来构造显示的条目
即使:[1][2][3][4][5][6][7][8][9][10]
*/
function construct_num_Page(){
if($this->pageNums < $this->sub_pages){
$current_array=array();
for($i=0;$i<$this->pageNums;$i++){
$current_array[$i]=$i+1;
}
}else{
$current_array=$this->initArray();
if($this->current_page <= 3){
for($i=0;$i<count($current_array);$i++){
$current_array[$i]=$i+1;
}
}elseif ($this->current_page <= $this->pageNums && $this->current_page > $this->pageNums - $this->sub_pages + 1 ){
for($i=0;$i<count($current_array);$i++){
$current_array[$i]=($this->pageNums)-($this->sub_pages)+1+$i;
}
}else{
for($i=0;$i<count($current_array);$i++){
$current_array[$i]=$this->current_page-2+$i;
}
}
}
return $current_array;
}
/*
构造普通模式的分页
共4523条记录,每页显示10条,当前第1/453页 [首页] [上页] [下页] [尾页]
*/
function subPageCss1(){
$subPageCss1Str="";
$subPageCss1Str.="共".$this->nums."条记录,";
$subPageCss1Str.="每页显示".$this->each_disNums."条,";
$subPageCss1Str.="当前第".$this->current_page."/".$this->pageNums."页 ";
if($this->current_page > 1){
$firstPageUrl=$this->subPage_link."1";
$prewPageUrl=$this->subPage_link.($this->current_page-1);
$subPageCss1Str.="[<a href='$firstPageUrl'>首页</a>] ";
$subPageCss1Str.="[<a href='$prewPageUrl'>上一页</a>] ";
}else {
$subPageCss1Str.="[首页] ";
$subPageCss1Str.="[上一页] ";
}
if($this->current_page < $this->pageNums){
$lastPageUrl=$this->subPage_link.$this->pageNums;
$nextPageUrl=$this->subPage_link.($this->current_page+1);
$subPageCss1Str.=" [<a href='$nextPageUrl'>下一页</a>] ";
$subPageCss1Str.="[<a href='$lastPageUrl'>尾页</a>] ";
}else {
$subPageCss1Str.="[下一页] ";
$subPageCss1Str.="[尾页] ";
}
echo $subPageCss1Str;
}
/*
构造经典模式的分页
当前第1/453页 [首页] [上页] 1 2 3 4 5 6 7 8 9 10 [下页] [尾页]
*/
function subPageCss2(){
$subPageCss2Str="";
$subPageCss2Str.="当前第".$this->current_page."/".$this->pageNums."页 ";
if($this->current_page > 1){
$firstPageUrl=$this->subPage_link."1";
$prewPageUrl=$this->subPage_link.($this->current_page-1);
$subPageCss2Str.="[<a href='$firstPageUrl'>首页</a>] ";
$subPageCss2Str.="[<a href='$prewPageUrl'>上一页</a>] ";
}else {
$subPageCss2Str.="[首页] ";
$subPageCss2Str.="[上一页] ";
}
$a=$this->construct_num_Page();
for($i=0;$i<count($a);$i++){
$s=$a[$i];
if($s == $this->current_page ){
$subPageCss2Str.="[<span style='color:red;font-weight:bold;'>".$s."</span>]";
}else{
$url=$this->subPage_link.$s;
$subPageCss2Str.="[<a href='$url'>".$s."</a>]";
}
}
if($this->current_page < $this->pageNums){
$lastPageUrl=$this->subPage_link.$this->pageNums;
$nextPageUrl=$this->subPage_link.($this->current_page+1);
$subPageCss2Str.=" [<a href='$nextPageUrl'>下一页</a>] ";
$subPageCss2Str.="[<a href='$lastPageUrl'>尾页</a>] ";
}else {
$subPageCss2Str.="[下一页] ";
$subPageCss2Str.="[尾页] ";
}
echo $subPageCss2Str;
}
}
?>
演示代码:
<?php
require_once("SubPages.php");
//每页显示的条数
$page_size=20;
//总条目数
$nums=1024;
//每次显示的页数
$sub_pages=10;
//得到当前是第几页
$pageCurrent=$_GET["p"];
//if(!$pageCurrent) $pageCurrent=1;
$subPages=new SubPages($page_size,$nums,$pageCurrent,$sub_pages,"test.php?p=",2);
?>
分享到:
相关推荐
简单_方便_功能全的php分页类,很好理解,使用起来很方面
一个简单,方便,功能全的php分页类,每页显示的条目数,总条目数,当前被选中的页,每次显示的页数,用来构造分页的数组,每个分页的链接,显示分页的类型。
用PHP实现了网站开发中常用的分页功能。并且实现了很好的封装哦!使用起来简单方便啦
这是一款简单,方便,功能齐全的分页类,可以根据自己的需要更改CSS样式文件以实现分页颜色的控制,利用php分页类,可以省去自己很多时间,只需要在分页的地方嵌入即可,下面看下使用方法: 1,在head里包含pager....
分页在后台管理中是经常使用的功能,分页显示方便大量数据的管理。 实例代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>用户列表</title> </...
HTML/PHP/ASP/ASP.NET/JSP... jQuery ui.ariaSorTable 支持排序、分页的表格 jQuery ui.ariaSorTable 支持分页的表格组件,想实现无刷新分页的...除分页外,本表格组件支持表格双击表头排序,简单方便,推荐给大家。
该員工管理系统主要是实现员工信息的管理,包括部门的管理,还有员工个人信息的管理这几个功能模块组成。员工都是以部门为单位进行管理的。...由于员工信息较多,员工列表以分页的形式展示在页面中,具有分页显示功能
稻草人企业站程序,是一款简单开源的企业站程序,程序分为php sqlite、php mysql两个版本,程序采用php smarty模板技术 修改模板方便,程序采用面对对象 模块开发.调用管理方便,程序可以开启伪静态功能,后台能编辑...
2.数据库内容模型结构的改变,把以前分离的各模型表的主要字段统一到一个主表中,以方便简单实现全站搜索和sitemap的制作等等的功能实现。 3.重新统一了Yourphp模板标签,由于之前有使用Thinkphp默认的模板标签和...
整合mysql备份恢复、购物车类、cookies管理类、curl类、日期工具类、文件下载类、电子邮件类、excel工具类、各种安全过滤工具类、ftp工具类、html代码生成类、模拟http协议类、图像工具类、分页类、拼音工具类、页面...
稻草人企业站程序,是一款简单开源的企业站程序,程序分为php+sqlite、php+mysql两个版本,程序采用php+smarty模板技术 修改模板方便,程序采用面对对象 模块开发.调用管理方便,程序可以开启伪静态功能,后台能编辑...
PPVOD是一套专为不同需求的站长而设计的视频点播系统,灵活,方便是最大的特色,为初学者快速架设网站首选,只需5分钟即可建立一个海量的视频讯息的行业网站。 PPVOD采用PHP MYSQL架构,国内优秀TP的框架为开发...
文章静态功能,已取得飞跃性突破,定时全站静态 无人监守静态 系统模块自由安装,复制,删除无痕 积分消费记录 留言本分类 标签优化 验证码加强,同时还增加语音注册识别码 会员中心增加可选风格功能 ...
文章静态功能,已取得飞跃性突破,定时全站静态 无人监守静态 系统模块自由安装,复制,删除无痕 积分消费记录 留言本分类 标签优化 验证码加强,同时还增加语音注册识别码 会员中心增加可选风格功能 ...
文章静态功能,已取得飞跃性突破,定时全站静态 无人监守静态 系统模块自由安装,复制,删除无痕 积分消费记录 留言本分类 标签优化 验证码加强,同时还增加语音注册识别码 会员中心增加可选风格功能 ...
优客365网站分类导航系统是个跨平台的开源软件,基于PHP+MYSQL开发构建的开源网站分类目录管理系统,具有操作简单、功能强大、稳定性好、扩展性及安全性强、二次开发及后期维护方便,可以帮您迅速、轻松地构建起一个...
12、强大采集功能(内置小蜜蜂采集器超强功能),支持设置信息关键字专题采集、自动识别目标分页符替换为自身分页符; 13、灵活、简单的模版设计,默认模版未夹带任何隐藏广告代码; 14、结合平台广告系统...
3.客服功能(可以很方便的为企业和客户之间搭建沟通的桥梁。后台无限制添加QQ,6种样式一键切换) 4.分享功能(采用百度分享接口,整合到后台,一键设置分享的关闭和开启,11种样式一键切换) 5.留言功能(可设置脏话...
KingCMS PHP企业版是一套简单易学,代码精巧的开源内容管理系统(CMS),支持PHP SQLite3/MySQL和ASP ACCESS/MSSQL,模板标签机制容易理解,制作方便,完全自定义的URL 等功能助你轻易实现众多SEO细节,是制作网络营销...
13.集成分页功能,wp-pagenavi分页插件也可以删除了。 14.替换WordPress默认登录界面; 15.调用WP默认表情(默认不显示),方便在留言中加入表情; 16.替换avatar默认头像,可以到后台讨论设置选项中设置。 17.网站...