<?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. JavaScript Dispatch Event

    <html> <head> <script type="text/javascript"> function performClick(elem ...

  2. linux中断--进程上下文和中断上下文

    一.前言 中断发生以后,CPU跳到内核设置好的中断处理代码中去,由这部分内核代码来处理中断.这个处理过程中的上下文就是中断上下文. 为什么可能导致睡眠的函数都不能在中断上下文中使用呢? 首先睡眠的含义 ...

  3. Powerdesigner逆向工程从sql server数据库生成pdm (完整版)

    第一步:打开"控制面板"中的"管理工具" 第二步:点击"管理工具"然后双击"数据源(odbc)" 第三步:打开之后,点击 ...

  4. 出现No Hibernate Session bound to thread, and configuration does not allow creation of non-transactional one here异常

    问题描述: public void save(BaseEntity baseEntity) { Session session = null; try { session = currentSessi ...

  5. Android 添加菜单项

    刚开始看郭大神的<>,实现以下里面的一些例子.利用Menu给APP添加一个菜单项. 效果图 结构图 在res的menu文件夹下创建一个xml文件,当然你也可以使用系统创建的main.xml ...

  6. Android EditText屏蔽默认长按粘贴复制事件

    et.setCustomSelectionActionModeCallback(new ActionMode.Callback()); 添加全部的方法即可,不需要任何改动.

  7. Normalize.css 介绍与源码解读

    开始 Normalize.css 是一个可定制的 CSS 文件,使浏览器呈现的所有元素,更一致和符合现代标准;是在现代浏览器环境下对于CSS reset的替代. 它正是针对只需要统一的元素样式.该项目 ...

  8. 关于Git和Github

    英文原文:Ten Things You Didn't Know Git And GitHub Could Do Git 和 GitHub 都是非常强大的工具.即使你已经使用他们很长时间,你也很有可能不 ...

  9. js第四章作用域

    一.动态的属性 //创建了一个变量并且保存在了变量person中 var person = new Object(); //为该对象添加了一个名为name的属性,将字符串值‘NiCholas’赋值给n ...

  10. python运维开发(六)----模块续

    内容目录 反射 模块 os模块 sys模块 md5加密模块 re正则匹配模块 configparse模块 xml模块 shutil模块 subprocess模块 反射 利用字符串的形式去对象(模块)中 ...