自定义简单分页类
来源:互联网 发布:单片机65536 编辑:程序博客网 时间:2024/06/05 18:55
<?php
class Pages{
private $count; //要显示的总条数
private $page_num; //每页显示的条数
private $total_pages; //总页数
private $current; //当前页
private $offset; //页码显示偏移量
private $config=array(
'previous'=>'<', //上一页
'next'=>'>', //下一页
'start'=>'<<', //首页
'end'=>'>>' //末页
);
$this->count=$count;
$this->page_num=$num;
$this->current=isset($_GET['p'])?$_GET['p']:1;
$this->offset=$offset;
}
//设置配置选项
function setConfig($key,$value){
foreach($this->config as $k=>$v){
//遍历判断如果当前的配置项确实存在才可以进行重新设置
if($k==$key){
$this->config[$key]=$value;
}
}
}
function show(){
//计算出总页码数
$this->total_pages=ceil($this->count/$this->page_num);
//计算出上一页
$previous=$this->current-1>0?$this->current-1:1;
$previous="<a href='?p=$previous'>".$this->config['previous']."</a> ";
//计算出下一页
$next=$this->current+1>$this->total_pages?$this->total_pages:$this->current+1;
$next="<a href='?p=$next'>".$this->config['next']."</a> ";
//首页
$first="<a href='?p=1'>".$this->config['start']."</a> ";
//尾页
$end="<a href='?p=$this->total_pages'>".$this->config['end']."</a> ";
$linkpage='';
//最左位开始显示的页码数
$leftpage=max($this->current-$this->offset,1);
//最右位结束显示的页码数
$rightpage=min($this->current+$this->offset,$this->total_pages);
for($i=$leftpage;$i<=$rightpage;$i++){
if($i==$this->current){
//给当前页添加样式去掉下划线
$linkpage.="<a style='text-decoration: none;' href='?p=$i'><font color=red>".$i."</font></a> ";
}else{
$linkpage.="<a href='?p=$i'><font color=blue>".$i."</font></a> ";
}
}
return $first.$previous.$linkpage.$next.$end;
}
}
$page=new Pages(100,3);
//设置配置
$page->setConfig('previous','上一页');
$page->setConfig('next','下一页');
$page->setConfig('start','首页');
$page->setConfig('end','尾页');
$linkpage=$page->show();
echo $linkpage;
?>
class Pages{
private $count; //要显示的总条数
private $page_num; //每页显示的条数
private $total_pages; //总页数
private $current; //当前页
private $offset; //页码显示偏移量
private $config=array(
'previous'=>'<', //上一页
'next'=>'>', //下一页
'start'=>'<<', //首页
'end'=>'>>' //末页
);
//构造方法传入需要总条数和每页显示的条数
$this->count=$count;
$this->page_num=$num;
$this->current=isset($_GET['p'])?$_GET['p']:1;
$this->offset=$offset;
}
//设置配置选项
function setConfig($key,$value){
foreach($this->config as $k=>$v){
//遍历判断如果当前的配置项确实存在才可以进行重新设置
if($k==$key){
$this->config[$key]=$value;
}
}
}
function show(){
//计算出总页码数
$this->total_pages=ceil($this->count/$this->page_num);
//计算出上一页
$previous=$this->current-1>0?$this->current-1:1;
$previous="<a href='?p=$previous'>".$this->config['previous']."</a> ";
//计算出下一页
$next=$this->current+1>$this->total_pages?$this->total_pages:$this->current+1;
$next="<a href='?p=$next'>".$this->config['next']."</a> ";
//首页
$first="<a href='?p=1'>".$this->config['start']."</a> ";
//尾页
$end="<a href='?p=$this->total_pages'>".$this->config['end']."</a> ";
$linkpage='';
//最左位开始显示的页码数
$leftpage=max($this->current-$this->offset,1);
//最右位结束显示的页码数
$rightpage=min($this->current+$this->offset,$this->total_pages);
for($i=$leftpage;$i<=$rightpage;$i++){
if($i==$this->current){
//给当前页添加样式去掉下划线
$linkpage.="<a style='text-decoration: none;' href='?p=$i'><font color=red>".$i."</font></a> ";
}else{
$linkpage.="<a href='?p=$i'><font color=blue>".$i."</font></a> ";
}
}
return $first.$previous.$linkpage.$next.$end;
}
}
$page=new Pages(100,3);
//设置配置
$page->setConfig('previous','上一页');
$page->setConfig('next','下一页');
$page->setConfig('start','首页');
$page->setConfig('end','尾页');
$linkpage=$page->show();
echo $linkpage;
?>
阅读全文
0 0
- 自定义简单分页类
- 简单的GridView自定义分页
- ASP.NET自定义简单分页
- GridView自定义分页类
- 自定义分页类
- 自定义分页时的简单处理
- 简单的一个自定义分页(C#)
- .net 服务器端自定义分页控件 简单示例
- 简单的自定义标签--分页标签
- Django之自定义分页代码简单实现
- 一个简单的分页控件,用来自定义分页用的
- 一个简单的分页控件,用来自定义分页用的
- 简单的分页类
- php 简单分页类
- php简单分页类
- 简单php分页类
- PHP简单分页类
- 简单分页类
- linux 操作jdk 及基础入门
- 计算几何实践3:三角化
- 成功用链表实现约瑟夫环
- QML 使用Material
- 解决 Sublime text3 中文显示乱码问题
- 自定义简单分页类
- aaa
- spring系列(一):超级经典入门
- 二分类模型评估指标的计算方法与代码实现
- AndroidStudio打开新项目
- 知识学习——Java类的生命周期
- 第十三次学习报告
- 在乌班图系统里找到了python的matplotlib的pyplot的errorbar函数参数用法……
- HDU 1097