`
lovnet
  • 浏览: 6704864 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

简单,方便,功能全的php分页类

 
阅读更多

分页类代码
<?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分页类.zip

    一个简单,方便,功能全的php分页类,每页显示的条目数,总条目数,当前被选中的页,每次显示的页数,用来构造分页的数组,每个分页的链接,显示分页的类型。    

    一个用PHP写的分页类

    用PHP实现了网站开发中常用的分页功能。并且实现了很好的封装哦!使用起来简单方便啦

    精美漂亮的php分页类代码

    这是一款简单,方便,功能齐全的分页类,可以根据自己的需要更改CSS样式文件以实现分页颜色的控制,利用php分页类,可以省去自己很多时间,只需要在分页的地方嵌入即可,下面看下使用方法:  1,在head里包含pager....

    PHP实现数据分页显示的简单实例

    分页在后台管理中是经常使用的功能,分页显示方便大量数据的管理。 实例代码如下: &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;meta charset="utf-8"&gt; &lt;title&gt;用户列表&lt;/title&gt; &lt;/...

    HTML/PHP/ASP/ASP.NET/JSP... jQuery ui.ariaSorTable 支持排序、分页的表格

    HTML/PHP/ASP/ASP.NET/JSP... jQuery ui.ariaSorTable 支持排序、分页的表格 jQuery ui.ariaSorTable 支持分页的表格组件,想实现无刷新分页的...除分页外,本表格组件支持表格双击表头排序,简单方便,推荐给大家。

    稻草人企业站 v1.0.7 GBK.rar

    稻草人企业站程序,是一款简单开源的企业站程序,程序分为php sqlite、php mysql两个版本,程序采用php smarty模板技术 修改模板方便,程序采用面对对象 模块开发.调用管理方便,程序可以开启伪静态功能,后台能编辑...

    使用PHP+MySQL技术及前端开发技术,设计一个简易员工信息管理系统

    该員工管理系统主要是实现员工信息的管理,包括部门的管理,还有员工个人信息的管理这几个功能模块组成。员工都是以部门为单位进行管理的。...由于员工信息较多,员工列表以分页的形式展示在页面中,具有分页显示功能

    MonkeyPHP 3.7.456.zip

    整合mysql备份恢复、购物车类、cookies管理类、curl类、日期工具类、文件下载类、电子邮件类、excel工具类、各种安全过滤工具类、ftp工具类、html代码生成类、模拟http协议类、图像工具类、分页类、拼音工具类、页面...

    Yourphp企业网站管理系统 3.0 1119.zip

    2.数据库内容模型结构的改变,把以前分离的各模型表的主要字段统一到一个主表中,以方便简单实现全站搜索和sitemap的制作等等的功能实现。 3.重新统一了Yourphp模板标签,由于之前有使用Thinkphp默认的模板标签和...

    稻草人企业站 v1.0.7 GBK

    稻草人企业站程序,是一款简单开源的企业站程序,程序分为php+sqlite、php+mysql两个版本,程序采用php+smarty模板技术 修改模板方便,程序采用面对对象 模块开发.调用管理方便,程序可以开启伪静态功能,后台能编辑...

    皮皮PHP视频系统 1.0 beta2.rar

    PPVOD是一套专为不同需求的站长而设计的视频点播系统,灵活,方便是最大的特色,为初学者快速架设网站首选,只需5分钟即可建立一个海量的视频讯息的行业网站。 PPVOD采用PHP MYSQL架构,国内优秀TP的框架为开发...

    齐博CMS(原PHP168整站) v7.0 正式版 GBK.rar

    文章静态功能,已取得飞跃性突破,定时全站静态 无人监守静态 系统模块自由安装,复制,删除无痕 积分消费记录 留言本分类 标签优化 验证码加强,同时还增加语音注册识别码 会员中心增加可选风格功能 ...

    齐博CMS(原PHP168整站) v7.0 正式版 big5.rar

    文章静态功能,已取得飞跃性突破,定时全站静态 无人监守静态 系统模块自由安装,复制,删除无痕 积分消费记录 留言本分类 标签优化 验证码加强,同时还增加语音注册识别码 会员中心增加可选风格功能 ...

    齐博CMS(原PHP168整站) v7.0 正式版 utf8.rar

    文章静态功能,已取得飞跃性突破,定时全站静态 无人监守静态 系统模块自由安装,复制,删除无痕 积分消费记录 留言本分类 标签优化 验证码加强,同时还增加语音注册识别码 会员中心增加可选风格功能 ...

    优客365网站分类导航系统 365网址导航源码

    优客365网站分类导航系统是个跨平台的开源软件,基于PHP+MYSQL开发构建的开源网站分类目录管理系统,具有操作简单、功能强大、稳定性好、扩展性及安全性强、二次开发及后期维护方便,可以帮您迅速、轻松地构建起一个...

    PHP新闻文章程序源代码

    12、强大采集功能(内置小蜜蜂采集器超强功能),支持设置信息关键字专题采集、自动识别目标分页符替换为自身分页符; 13、灵活、简单的模版设计,默认模版未夹带任何隐藏广告代码; 14、结合平台广告系统...

    追梦企业网站管理系统(zmcms) v1.46 GBK 高仿phpweb红酒.zip

    3.客服功能(可以很方便的为企业和客户之间搭建沟通的桥梁。后台无限制添加QQ,6种样式一键切换) 4.分享功能(采用百度分享接口,整合到后台,一键设置分享的关闭和开启,11种样式一键切换) 5.留言功能(可设置脏话...

    KingCMS PHP企业版 6.1.1641 SP2.zip

    KingCMS PHP企业版是一套简单易学,代码精巧的开源内容管理系统(CMS),支持PHP SQLite3/MySQL和ASP ACCESS/MSSQL,模板标签机制容易理解,制作方便,完全自定义的URL 等功能助你轻易实现众多SEO细节,是制作网络营销...

    Apple风格WP主题:HotNewspro 2.1

    13.集成分页功能,wp-pagenavi分页插件也可以删除了。 14.替换WordPress默认登录界面; 15.调用WP默认表情(默认不显示),方便在留言中加入表情; 16.替换avatar默认头像,可以到后台讨论设置选项中设置。 17.网站...

Global site tag (gtag.js) - Google Analytics