php+mysql分页类的入门实例

时间:2021-09-24 22:00:52

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&plus;Mysql分页 类和引用详解

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

  2. php分页类代码带分页样式效果&lpar;转&rpar;

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

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

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

  4. php四个常用类封装 &colon;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织梦动态分页类&comma;datalist标签使用实例

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

  7. 资源&lpar;1&rpar;----封装类&lpar;连接数据库mysql&comma;分页&rpar;

    一,链接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. jQuery之empty、remove、detach

    三者都有把元素移除的作用,但细微的差别,造就了它们的使命不同. 最权威的解释当然是jQuery_API咯,下面是API中关于他三儿的部分截取. 一.empty: This method removes ...

  2. SQL server 2012序列号 注册码 z

    MICROSOFT SQL SERVER 2012 企业核心版激活码序列号: FH666-Y346V-7XFQ3-V69JM-RHW28 MICROSOFT SQL SERVER 2012 商业智能版 ...

  3. Angularjs总结(八)&dollar; cookie和&dollar;rootscope

    AngularJS 提供了很好的 $cookie 和 $cookieStore API 用来处理 cookies .这两个服务都能够很好的发挥HTML5 cookies,当HTML5 API可用时浏览 ...

  4. tableView被Nav挡住了

    // 1. //    self.navigationController.navigationBar.translucent = NO; //    self.tabBarController.ta ...

  5. ashx文件中使用session提示&OpenCurlyDoubleQuote;未将对象引用设置到对象的实例”

    using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Data;u ...

  6. MacOS 10&period;13&period;6 下装xcode 流程

    1.最好先安装brew https://github.com/Homebrew/brew/releases 自动安装脚本 /usr/bin/ruby -e "$(curl -fsSL htt ...

  7. MySQL中链接查询inner join与left join使用

    连接查询其实就是对两个表记录做笛卡尔乘积.如果不指定连接条件的话,则会对每行都做笛卡尔乘积,这样最后返回的结果树就会是两个表记录数的乘积:如果指定则,则仅对符合列条件的行进行笛卡尔乘积,并返回结果.在 ...

  8. linux 基础 用户操作

    命令: 1. whoami 2.su 用户名 3.useradd 用户名 4.passwd 用户名

  9. A&ast; 寻路的八个变种

    变种 1 - 束搜索(Beam Search) 在 A* 算法的住循环中,OPEN 集存储可能需要搜索的节点,用来以查找路径. 束搜索是 A* 的变体,它限制了OPEN集的大小. 如果集合变得太大,则 ...

  10. mysql格式化日期

    mysql查询记录如果有时间戳字段时,查看结果不方便,不能即时看到时间戳代表的含义,现提供mysql格式换时间函数,可以方便的看到格式化后的时间. 1. DATE_FORMAT() 函数用于以不同的格 ...