php数组分页类
<?php
class ArrayPage{
public $totalPage;//全部页数
public $lists;//每页显示数目
public $arr = array();//分页的数组
public $url = '';//分页地址
public $order;
public $_error = '一切正常';//报错提示
public function __construct(array $arr,$lists = 10,$url,$order =0){
if( empty($arr) ){
$this->_error = '数组不存在';
return false;
}
if($url == ''){
$this->_error = '域名地址不可缺少';
return false;
}
$this->lists = $lists;
$this->url = $url;
$this->arr = $arr;
$count = count($arr);
$this->totalPage = ceil($count / $this->lists);
} public function getData(){
$page = empty($_GET['page'])?1:$_GET['page'];
$start = ($page - 1)*$this->lists;
//return $this->lists;
if($this->order == 1){
$this->arr = array_reverse($this->arr);
}
$res = array_slice($this->arr,$start,$this->lists);
return $res;
} public function getShow(){
$page = empty($_GET['page'])?1:$_GET['page'];
if($page > 1){
$prevPage = $page-1;
}else{
$prevPage = 1;
} if($page < $this->totalPage){
$nextPage = $page+1;
}else{
$page = $this->totalPage;
}
$str = '<div style="border:1px; width:300px; height:30px; color:#9999CC">';
$str .= "<span>共 {$this->totalPage} 页 / 第 {$page} 页</span>";
$str .= "<span><a href='{$this->url}?page=1'> 首页 </a></span>";
if($page == 1){
$str .= "<span> 上一页 </span>";
}else{
$str .= "<span><a href='{$this->url}?page={$prevPage}'> 上一页 </a></span>";
}
if($page == $this->totalPage){
$str .= "<span>下一页 </span>";
}else{
$str .= "<span><a href='{$this->url}?page={$nextPage}'>下一页 </a></span>";
}
$str .= "<span><a href='{$this->url}?page={$this->totalPage}'>尾页 </a></span>";
$str .= '</div>';
return $str;
} public function getError(){
return $this->_error;
}
}
for($i =0;$i<100;$i++){
$arr[$i] = $i*10;
}
$page = new ArrayPage($arr,10,'http://localhost/testSvn/arrayPage.php',0);
$res = $page->getData();
echo $page->getShow();
php数组分页类的更多相关文章
- php实现的分页类
php分页类文件: <?php /** file: page.class.php 完美分页类 Page */ class Page { private $total; //数据表中总记录数 pr ...
- 基于thinkphp的数组分页
function array_page($array,$rows){ import("ORG.Util.Page"); //导入分页类 $count=count($array); ...
- php 简单分页类
/** file: page.class.php 完美分页类 Page */ class Page { private $total; //数据表中总记录数 privat ...
- php部分---一个分页类、用法
1.分页类 <?php /** file: page.class.php 完美分页类 Page */ class Page { private $total; //数据表中总记录数 privat ...
- PHP+jQuery 长文章分页类 ( 支持 url / ajax 分页方式 )
/* ******* 环境:Apache2.2.8 ( 2.2.17 ) + PHP5.2.6 ( 5.3.3 ) + MySQL5.0.51b ( 5.5.8 ) + jQuery-1.8 **** ...
- PHP+jQuery 列表分页类 ( 支持 url 分页 / ajax 分页 )
/* ******* 环境:Apache2.2.8 ( 2.2.17 ) + PHP5.2.6 ( 5.3.3 ) + MySQL5.0.51b ( 5.5.8 ) + jQuery-1.8.3.mi ...
- php四个常用类封装 :MySQL类、 分页类、缩略图类、上传类;;分页例子;
Mysql类 <?php /** * Mysql类 */ class Mysql{ private static $link = null;//数据库连接 /** * 私有的构造方法 */ pr ...
- php的分页查询建立分页类
创建一个分页类 <?php /** file: page.class.php 完美分页类 Page */ class Page { private $total; //数据表中总记录数 priv ...
- codeigniter分页类传多个参数(转)
http://example.com/index.php/控制器/方法名/页面的偏移值 页面的偏移值必须是方法名后第一个参数,否者分页类不能判断当前是哪一页,而用ci的分页类进行页面跳转时他是把偏移值 ...
随机推荐
- random background
function roll(){ var bg = document.getElementById("loginbg"); var rnd = Math.floor(Math.ra ...
- 【MVC】过滤器
APS.NET MVC中(以下简称“MVC”)的每一个请求,都会分配给相应的控制器和对应的行为方法去处理,而在这些处理的前前后后如果想再加一些额外的逻辑处理.这时候就用到了过滤器. MVC支持的过滤器 ...
- C#9 结构体 员工信息 学生成绩
结构体:相当于是我们自己定义的一种复杂的类型. int... double float bool char string DateTime 数组类型 生活中大部份的对象都是复合型的对象. 如何定 ...
- CentOS 6 安装 python and pip
yum update yum list python* //查看可安装python包 yum install python34.i686_64 wget https://bootstrap.p ...
- Mvc Webapi+Fiddler调试 (WebAPI 一)
Fiddler Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(指cookie,html,js, ...
- PHP获取真实的网络IP
function get_client_ip() { $ip = $_SERVER['REMOTE_ADDR']; if (isset($_SERVER['HTTP_CLIENT_IP']) & ...
- nexus 7 2013 驱动安装及root
驱动安装 Nexus 7 2013连接上电脑后,设备管理器显示新设备 nexus 7 待安装驱动(其实是MTP设备待安装驱动).去谷歌网站下载最新的USB驱动,version 8.0 的.与以前的版本 ...
- GLFW库文件配置
VS2012+windows8下面,vs的默认路径在C:\Program Files(x86)\Windows Kits\8.0 下. 将include\GLFW里.h文件加入vs路径Include\ ...
- Spring、Bean 的作用域
Singleton作用域(默认) 当一个bean的作用域为singleton,那么Spring Ioc容器中只会存在一个共享的bean实例,并且所有对bean的请求,只要id与该bean定义相匹配,则 ...
- wormhole提升hivereader读取速度方案
背景: 最近dw用户反馈wormhole传输速度很慢,有些作业甚至需要3-4个小时才能完成,会影响每天线上报表的及时推送.我看了下,基本都是从Hive到其他数据目的地,也就是使用的是hivereade ...