php+mysql分页类的简单代码

时间:2016-02-25 06:16:26来源:网络
导读:php+mysql分页类的简单代码,二个php分页类代码,对商品进行分页展示,当前页面数,每个页面展示页面数,简单实用的php分页代码。
 
php+mysql分页类的简单代码

一、php分页类代码

复制代码代码示例:
class PageModel {  
    /** 
     * 获取分页数组 
     * @param unknown $page 当前页面数 
     * @param unknown $goodsCount 商品总数 
     * @param unknown $pageLength 每个页面展示页面数 
     */  
    public static function getPageArr($page, $goodsCount, $pageCountLength, $pageLength) {  
        //页面总数  
        $allPageCount = ceil($goodsCount / $pageLength);  
       //如果页面总是比长度短,设定页面长度为页面总数  
       if ($allPageCount <= $pageCountLength) {  
           $allPageCount = ceil($goodsCount / $pageLength);  
       }  // www.xfcodes.com
        //总页面数一页展示完  
        if ($allPageCount <= $pageCountLength) {  
            for ($i = 0; $i < $allPageCount; $i ++) {  
                $arr[] = array('page' => $i + 1);  
            }  
            return $arr;  
        }  
        //前后的长度  
        $halfLength = floor($pageCountLength / 2);  
        //因为太小,所以放原来位置,左边  
        if ($page <= $halfLength) {  
            $arr = array();  
            for ($i = 0; $i < $pageCountLength; $i ++) {  
                $arr[] = array('page' => $i + 1);  
            }  
            return $arr;  
        }  
        //太大,只取到边缘,超出也只取到边缘  
        if ($page > $allPageCount - floor($pageCountLength / 2)) {  
            for ($i = -$pageCountLength; $i < 0; $i ++) {  
                $arr[] = array('page' => $allPageCount + $i + 1);  
            }  
            return $arr;  
        }  
        //中间的数,把中间的取出来  
        for ($i = -$halfLength; $i < $pageCountLength - $halfLength; $i ++) {  
            $arr[] = array('page' => $page + $i);  
        }
        return $arr;
    }
}

二、php分页类代码

代码:

复制代码代码示例:

class Helper_Page{

/** 总信息数 */ 
var $infoCount; 
/** 总页数 */ 
var $pageCount; 
/** 每页显示条数 */ 
var $items; 
/** 当前页码 */ 
var $pageNo; 
/** 查询的起始位置 */ 
var $startPos; 
/** 下一页 */ 
var $nextPageNo; 
/** 上一页 */ 
var $prevPageNo;

function Helper_Page($infoCount, $items, $pageNo) 

$this->infoCount = $infoCount; 
$this->items = $items; 
$this->pageNo = $pageNo; 
$this->pageCount = $this->GetPageCount(); 
$this->AdjustPageNo(); 
$this->startPos = $this->GetStartPos(); 

function AdjustPageNo() 

if($this->pageNo == '' || $this->pageNo < 1) 
$this->pageNo = 1; 
if ($this->pageNo > $this->pageCount) 
$this->pageNo = $this->pageCount; 

/** 
* 下一页 
*/ 
function GoToNextPage() 

$nextPageNo = $this->pageNo + 1; 
if ($nextPageNo > $this->pageCount) 

$this->nextPageNo = $this->pageCount; 
return false; 

$this->nextPageNo = $nextPageNo; 
return true; 

/** 
* 上一页 
*/ 
function GotoPrevPage() 

$prevPageNo = $this->pageNo - 1; 
if ($prevPageNo < 1) 

$this->prevPageNo = 1; 
return false; 

$this->prevPageNo = $prevPageNo; 
return true; 

function GetPageCount() 

return ceil($this->infoCount / $this->items); 

function GetStartPos() 

return ($this->pageNo - 1) * $this->items; 

}

 相关文章

php+mysql分页类的入门实例的更多相关文章

  1. php+Mysql分页 类和引用详解

    一下内容为专用于分页的类以及具体的方法和解析.<?php class Page { private $total; //数据表中总记录数 private $listRows; //每页显示行数 ...

  2. php分页类代码带分页样式效果(转)

    php分页类代码,有漂亮的分页样式风格 时间:2016-03-16 09:16:03来源:网络 导读:不错的php分页类代码,将类文件与分页样式嵌入,实现php查询结果的精美分页,对研究php分页原理 ...

  3. 简单易用的分页类实例代码PHP

    <?php /*********************************************** * @类名: page * @参数: $myde_total - 总记录数 * $m ...

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

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

  5. 分享自己用的php分页类实例源码

    分享一个我自己用着的php分页类实例源码,供大家参考,具体内容如下: <?php /** file: page.class.php 完美分页类 Page */ class Page { priv ...

  6. DedeCMS织梦动态分页类,datalist标签使用实例

    <?php require_once(dirname(__FILE__)."/include/common.inc.php");//载入基础文件 require_once(D ...

  7. 资源(1)----封装类(连接数据库mysql,分页)

    一,链接MYSQL数据库 class DBDA{ public $host="localhost";//服务器地址 public $uid="root";//数 ...

  8. mybatis 详解(二)------入门实例(基于XML)

    通过上一小节,mybatis 和 jdbc 的区别:http://www.cnblogs.com/ysocean/p/7271600.html,我们对 mybatis有了一个大致的了解,下面我们通过一 ...

  9. mybatis 详解(三)------入门实例(基于注解)

    1.创建MySQL数据库:mybatisDemo和表:user 详情参考:mybatis 详解(二)------入门实例(基于XML) 一致 2.建立一个Java工程,并导入相应的jar包,具体目录如 ...

随机推荐

  1. As,is含义?using 语句

    Is:检查对象是否与给定的类型兼容.例如,下面的代码可以确定MyObject类型的一个实例,或者对象是否从MyObject派生的一个类型:        if(obj is MyObject){}   ...

  2. Memcached学习(二)

    4.协议简介 Memcached服务与各客户端间通过Tcp链接通讯(也可通过Udp链接). 各客户端间与服务间不需要发送特别的命令关闭链接,只要在不需要的时候直接关闭链接即可.建议客户端与服务间保持长 ...

  3. 【转】Android属性之build.prop,及property_get/property_set

    简要分析一下build.prop是如何生成的.Android的build.prop文件是在Android编译时收集的各种property(LCD density/语言/编译时间, etc.),编译完成 ...

  4. (转)使用 Advanced Installer 打包 一键安装Web应用程序

      使用 Advanced Installer 打包 一键安装Web应用程序         安装预览: 资源下载: 示例安装包 操作流程: 1.新建Asp.net Application. 2.设置 ...

  5. es5 和 es6 class

    // ES5 function User(name,age) { this.name = name; this.age = age; } // 静态方法 User.getClassName = fun ...

  6. AngularJS开发相关配置

    安装步骤: 1. Node.js,下载地址:https://nodejs.org/en/ 2. Git 下载地址:https://git-scm.com/download/ 3. Python (需为 ...

  7. Tomcat上配置连接池{ connect error=Name [jdbc/OracleDB] is not bound in this Context. Unable to find [jdbc]}

    . 在学习期间,从未实践过在tomcat上配置连接池,今天终于实现一次,在tomcat玩了一把,不知道你是否现在有和我一样的困境.废话少说直接上代码   java  public static Con ...

  8. 抓取dump

    1,在程序奔溃前部署.adplus.exe -crash -pn explorer.exe -o d: -crash:当进程挂掉的时候抓取dump,只能抓取到进程报错时的信息,如果进程不报错,就无法抓 ...

  9. 深度探索C++对象模型读书笔记(2)

    以下测试平台均为vs 2012 指向Data Member的指针测试(1) #include <stdio.h> class Base1 { public: int val1; int v ...

  10. 使用MySQL数据库将汉字转换成拼音的一个C语言小程序

    环境: mysql:mysql-5.1.65 centos:centos 6.5 编译命令: gcc -o chinesetopinyin chinesetopinyin.c -L/usr/lib/m ...