php+mysql分页类的入门实例

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; 

}

 相关文章
上一篇:C# winform DataTable 批量数据处理 增、删、改 .


下一篇:oracle--序列&视图&索引