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. Visual Studio Team Foundation Server 2015(TFS 秘钥、序列号)

    Visual Studio Team Foundation Server 2015 序列号:PTBNK-HVGCM-HB2GW-MXWMH-T3BJQ

  2. Jquery Easyui验证扩展,Easyui验证,Easyui校验,js正则表达式

    Jquery Easyui验证扩展,Easyui验证,Easyui校验,js正则表达式 >>>>>>>>>>>>>> ...

  3. html5之meta标签viewport应用

    在html5移动页面中,viewport定义必不可少. 首先了解下关于viewport的概念: 先了解移动设备的屏幕尺寸和设备尺寸: iPhone3 设备尺寸 320*480 ; 屏幕尺寸  320* ...

  4. No Dialect mapping for JDBC type: -1

    MySQL数据库中有张表的字段是text,查询出来后对应的java类型是String,Dialect设置为org.hibernate.dialect.MySQLDialect 运行的时候报错:No D ...

  5. Quartz Scheduler(2.2.1) - Usage of CronTriggers

    Cron is a UNIX tool that has been around for a long time, so its scheduling capabilities are powerfu ...

  6. 面试之BI-SQL--table转换[2]

    month   salesPerMonth 1 2 2 3 3 2 4 4 5 3 6 3                                 写条SQL语句把上表转成下表: month  ...

  7. SQLite CRUD操作

    SQLite CRUD操作代码实例: 1:首先创建一个继承了SQLiteOpenHelper类的MyDatabaseHelper类.实现他的onCreate(SQLiteDatabase db) on ...

  8. Ajax概述

  9. C#中的 ref 传进出的到底是什么 解惑篇

    今天在浏览博文时,看到这篇文章:C#中的ref 传进出的到底是什么 ? 在传对象时使用ref的疑问 另附言: 本文写于早上,就在想发布的那瞬间,靠,公司断网了,原来修改的部分丢失了. 网一断就是一天了 ...

  10. (转)Ubuntu 12.04 LTS 构建高可用分布式 MySQL 集群

    本文的英文版本链接是 http://www.mrxuri.com/index.php/2013/11/20/install-mysql-cluster-on-ubuntu-12-04-lts.html ...