<?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数组分页类的更多相关文章

  1. php实现的分页类

    php分页类文件: <?php /** file: page.class.php 完美分页类 Page */ class Page { private $total; //数据表中总记录数 pr ...

  2. 基于thinkphp的数组分页

    function array_page($array,$rows){ import("ORG.Util.Page"); //导入分页类 $count=count($array); ...

  3. php 简单分页类

    /**  file: page.class.php   完美分页类 Page  */ class Page {  private $total;          //数据表中总记录数  privat ...

  4. php部分---一个分页类、用法

    1.分页类 <?php /** file: page.class.php 完美分页类 Page */ class Page { private $total; //数据表中总记录数 privat ...

  5. 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 **** ...

  6. 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 ...

  7. php四个常用类封装 :MySQL类、 分页类、缩略图类、上传类;;分页例子;

    Mysql类 <?php /** * Mysql类 */ class Mysql{ private static $link = null;//数据库连接 /** * 私有的构造方法 */ pr ...

  8. php的分页查询建立分页类

    创建一个分页类 <?php /** file: page.class.php 完美分页类 Page */ class Page { private $total; //数据表中总记录数 priv ...

  9. codeigniter分页类传多个参数(转)

    http://example.com/index.php/控制器/方法名/页面的偏移值 页面的偏移值必须是方法名后第一个参数,否者分页类不能判断当前是哪一页,而用ci的分页类进行页面跳转时他是把偏移值 ...

随机推荐

  1. random background

    function roll(){ var bg = document.getElementById("loginbg"); var rnd = Math.floor(Math.ra ...

  2. 【MVC】过滤器

    APS.NET MVC中(以下简称“MVC”)的每一个请求,都会分配给相应的控制器和对应的行为方法去处理,而在这些处理的前前后后如果想再加一些额外的逻辑处理.这时候就用到了过滤器. MVC支持的过滤器 ...

  3. C#9 结构体 员工信息 学生成绩

    结构体:相当于是我们自己定义的一种复杂的类型. int...  double float bool char string  DateTime  数组类型 生活中大部份的对象都是复合型的对象. 如何定 ...

  4. CentOS 6 安装 python and pip

    yum update yum list python*     //查看可安装python包 yum install python34.i686_64 wget https://bootstrap.p ...

  5. Mvc Webapi+Fiddler调试 (WebAPI 一)

    Fiddler Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(指cookie,html,js, ...

  6. PHP获取真实的网络IP

    function get_client_ip() { $ip = $_SERVER['REMOTE_ADDR']; if (isset($_SERVER['HTTP_CLIENT_IP']) & ...

  7. nexus 7 2013 驱动安装及root

    驱动安装 Nexus 7 2013连接上电脑后,设备管理器显示新设备 nexus 7 待安装驱动(其实是MTP设备待安装驱动).去谷歌网站下载最新的USB驱动,version 8.0 的.与以前的版本 ...

  8. GLFW库文件配置

    VS2012+windows8下面,vs的默认路径在C:\Program Files(x86)\Windows Kits\8.0 下. 将include\GLFW里.h文件加入vs路径Include\ ...

  9. Spring、Bean 的作用域

    Singleton作用域(默认) 当一个bean的作用域为singleton,那么Spring Ioc容器中只会存在一个共享的bean实例,并且所有对bean的请求,只要id与该bean定义相匹配,则 ...

  10. wormhole提升hivereader读取速度方案

    背景: 最近dw用户反馈wormhole传输速度很慢,有些作业甚至需要3-4个小时才能完成,会影响每天线上报表的及时推送.我看了下,基本都是从Hive到其他数据目的地,也就是使用的是hivereade ...