I originally published a paging class that is separated from the database. When I used it recently, I found that sometimes when the search items are too large, using the URL to pass parameters may have certain effects or known bugs. This time I did some Extension, and compatible with the previous mode. It is very simple to use the above. You only need to set one more parameter. The code is as follows:
Copy the code The code is as follows:
/**
* Function: Pagination class, based on the total amount of data provided and page size
* Created date: Fri Apr 20 16:45:21 CST 2007
* Last updated:
* Author: sanshi
*/
class pagination
{
var $result = array();
var $pVar = "myp";//page parameter pagination count
var $urlParamStr = ""; //All parameters of the page
var $sqlMoveNumber = 0; //Offset of data
var $is_post = false;
public function pagination()
{
}
public function set($sum,$pageSize ,$page="",$is_post = false)
$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'];
//计算出总页数
$curPage = $this->getCurPage();
$temp['sumPage'] = CEIL ($ Sum/$ PageSize);
// Modified, the Bug
IF ($ Curpage & GT; $ TEMP ['SUMPAGE']) $ Curpage = $ TEMP ['Sumpage'];
$ TEMP ['C urpaage '] = $curPage;
$temp['nextPage'] = $temp['sumPage'] > $curPage ? ($curPage+1) : $temp['sumPage'];
$temp['upPage'] = $curPage >1 ? $curPage-1 :1;
using using using use using using ’ ‐ using using ‐ ‐ ‐ ‐ ‐‐‐‐‐ of $temp['endPage'] = $temp['sumPage'];
$temp['urlPageStr'] = ($page=="") ? $this->_makeUrl($url) : $page.$this->urlParamStr; 2 = $temp;
return $this->result; MoveNumber;
}
public function getfooter () {
$ Str = "Together & LT COLOR =#FF0033 & GT; {$ This- & GT; Result ['Rowno']} & lt & lt & lt & lt & lt & lt & & lt & His-& gt; result['urlPageStr']}{$this->result['upPage']}'";
result['urlPageStr']}{$this-> Page ";
$str .=" Current {$this->result['curPage']} page"; } page";
$str .=" result['nextPage']}'";
->is_post) $str .=" ";
. this ->is_post)
. '$i'>$in";
}
$str.=" 页";
//输出form表单
if($this->is_post)
{
$str .="";
$str .="";
}
return $str;
}
public function getCurPage()
{
return isset($_GET[$this->pVar]) ? intval($_GET[$this->pVar]) : 1 ;
}
//分析出url的参数返回?后的参数,页码为空 包括问号
private function _makeUrl($url)
{
$arrayUrl=parse_url($url);
if(isset($arrayUrl['query']))
{
$q=$arrayUrl['query'];
parse_str($q,$qParam);
//print_r($qParam);
if(array_key_exists($this->pVar,$qParam))
{
foreach ($qParam AS $k=>$v)
{
if($k !=$this->pVar) $temp[$k] = $v;
}
$temp[$this->pVar] = "";
if(function_exists("http_build_query"))
return '?'.http_build_query($temp);
else
return '?'.sanshi_http_build_query($temp);
}else {
return "?{$q}&{$this->pVar}=";
}
}else{
return "?{$this->pVar}=";
}
}
}
function sanshi_http_build_query($a,$b='',$c=0)
{
if (!is_array($a)) return false;
foreach ((array)$a as $k=>$v)
{
if ($c)
$k=$b."[".$k."]";
elseif (is_int($k))
$k=$b.$k;
if (is_array($v)||is_object($v))
{
$r[]=http_build_query($v,$k,1);
continue;
}
$r[]=$k."=".urlencode($v);
}
return implode("&",$r);
}
/*
//print_r($_SERVER);
$p = new pagination();
$p->set(10,2,'thi.php');
echo $p->getFooter();
echo $p->getJumpPage();
*/
?>
以上就介绍了photoshop cs5 官方中文正式原版下载 php 分页类 扩展代码,包括了photoshop cs5 官方中文正式原版下载方面的内容,希望对PHP教程有兴趣的朋友有所帮助。