php 自定义分页类功能实例

内容摘要
这篇文章主要为大家详细介绍了php 自定义分页类功能实例,具有一定的参考价值,可以用来参考一下。

对php自定义分页类对此感兴趣的朋友,看看idc笔记做的技术笔记!

<?php
/**
*
文章正文

这篇文章主要为大家详细介绍了php 自定义分页类功能实例,具有一定的参考价值,可以用来参考一下。

对php自定义分页类对此感兴趣的朋友,看看idc笔记做的技术笔记!

<?php
/**
 * php自定义分页类
 *
 * @param 
 * @author php教程 www.idcnote.com
 **/
class page{
public $page;
public $pagenum;
public $pagesize;
public function __construct($count,$pagesize){
$this->pagenum=ceil($count/$pagesize);
$this->pagesize=$pagesize;
$this->page=(isset($_GET['p'])&&$_GET['p']>0)?intval($_GET['p']):1;//首次调用类么?是的话就让P值为1
}
public function getUrl(){
$url =basename($_SERVER['PHP_SELF']). '?'.http_build_query($_GET);
$url=preg_replace('/[?,&]p=(\w)+/','',$url);
$url.=(strpos($url,"?")===false)?'?':'&';
return $url;//这里返回的是没有P参数的URL
}
public function getPage(){
$url=$this->getUrl();
$start=$this->page-5;
$start=$start>0?$start:1;
$end=$start+9;
$end=$end<$this->pagenum?$end:$this->pagenum;
$pagestr='';
if($this->page>5){
$pagestr="<a href=".$url."p=1".">first page</a>";
}
if($this->page!=1){
$pagestr="<a href=".$url."p=".($this->page-1).">pre  </a>";
}
for($i=$start;$i<=$end;$i++){
$pagestr.="<a href=".$url."p=".$i."> ".$i." </a>";
}
if($this->page!=$this->pagenum){
$pagestr.="<a href=".$url."p=".($this->page+1).">next </a>";
}
if($this->page+5<$this->pagenum){
$pagestr.="<a href=".$url."p=".$this->pagenum.">last_page</a>";
}
return $pagestr;
}
}
$page=new page(1000,7);
$str=$page->getPage();
echo $str;


/***   来自php教程(www.idcnote.com)   ***/

注:关于php 自定义分页类功能实例的内容就先介绍到这里,更多相关文章的可以留意

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!