<?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. UVA 1001 Say Cheese

    题意: 一只母老鼠想要找到她的玩具,而玩具就丢在一个广阔的3维空间上某个点,而母老鼠在另一个点,她可以直接走到达玩具的位置,但是耗时是所走过的欧几里得距离*10s.还有一种方法,就是靠钻洞,洞是球形的 ...

  2. Mac下Mysql启动异常["ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)"]

    在mac下使用brew安装mysql,之前没有使用过,今天启动的时候发现启动不了 huijundeMacBook-Pro:bin huijunzhang$ mysql ERROR (HY000): C ...

  3. (七)Android中AIDL的应用与理解

    一.跨应用启动Service Intent serviceIntent=new Intent();serviceIntent.setComponent(new ComponentName(" ...

  4. 利用Oracle数据库的UTL_SMTP发送HTML 邮件

    Ok, that looks hard, but if you use this procedure I wrote, its really quite easy, it does all of th ...

  5. transactionscope报“此操作对该事务的状态无效”问题

    编写的保存方法里面有个transactionscope代码一直报“此操作对该事务的状态无效”,弄了半天,原来是超时问题(transactionscope默认超时时间是1分钟) 经过修改,设置了超时时间 ...

  6. mysql学习(五)-字段属性

    字段属性: unsigned: 无符号类型,只能修饰数值类型: create table if not exists t1(id int unsigned); zerofill:前端填0 //只能修饰 ...

  7. EEPROM和flash的区别

    存储器分为两大类:ram和rom.ram就不讲了,今天主要讨论rom. rom最初不能编程,出厂什么内容就永远什么内容,不灵活.后来出现了prom,可以自己写入一次,要是写错了,只能换一片,自认倒霉. ...

  8. GetLastError来获得错误信息转成文本描述

    我们一般在调用了一些API后都会用GetLastError来获得错误信息,但是信息都是Integer的,我们知道是什么意思么?嘿嘿,是的,有msdn呀,当然还可以用FormatMessage函数来.正 ...

  9. ASP 代码当前记录集不支持更新问题的解决办法。

    错误类型: ADODB.Recordset (0x800A0CB3) 当前记录集不支持更新.这可能是提供程序的限制,也可能是选定锁定类型的限制. /Model/manage/Admin_Admin.a ...

  10. docker 指定容器名字

    docker:/root# docker run -itd --name linux123 ubuntu /bin/bash Unable to find image 'ubuntu:latest' ...