コードは次のとおりです。
/**
* 機能: 提供されたデータの総量とページ サイズに基づくページネーション クラス
* 作成日: Fri Apr 20 16:45:21 CST 2007
* 最終更新日:
* 著者: sanshi */
クラスのページネーション
{
var $result = array();
var $pVar = "myp";//ページパラメータのページネーション数
var $urlParamStr = ""; //ページのすべてのパラメータ
var $sqlMoveNumber = 0; // データのオフセット
public function pagination()
{
}
public function set($sum , $pageSize,$page="",$is_post = false)
$url = $_SERVER['PHP_SE] LF'].'?'.$_SERVER['QUERY_STRING']
$url SUMPAGE '] = Ceil ($ SUM/$ PageSize);
// 修正、バグ
IF ($ Curpage & GT; $ TEMP [' SUMPAGE ']) $ Curpage = $ TEMP [' Sumpage ']
$ temp['curPage'] = $curPage ;
$temp['nextPage'] = $temp['sumPage'] > $curPage ? ($curPage+1) : $temp['upPage'] = $curPage > 1 ? $curPage-1 :1;
$temp['endPage'] = $temp['sumPage'];
$this->urlParamStr = $this->_makeUrl( $url); urlPageStr'] = ($page=="") ? $this->_makeUrl($url) : $page.$this->urlParamStr; $curPage >結果 = $temp;
$this->sqlMoveNumber
}
public function getFooter()
{
$this->result['urlPageStr' ]}{$this->result['upPage']}'";
if($this->is_post) $str .=" onclick='return sanshi_page_post(this .href,{$this->result ['upPage']});'"; >result['curPage']} ページ"
$str .=" 合計 {$this->result['sumPage']} ページがあります"; ;result['urlPageStr']}{$this->result['nextPage']}'";
if($this->is_post) $str .=" onclick='return sanshi_page_post(this.href .
) urlPageStr']}"+this.value,this.value)'>n";
}else{
$str = " 跳到第 页";
//出力フォーム表单
if($this->is_post)
{
$str .="";
$str .="";
}
$str; を返します。
}
パブリック関数 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);
続けます。
}
$r[]=$k."=".urlencode($v);
}
return implode("&",$r);
}
/*
//print_r($_SERVER);
$p = 新しいページネーション();
$p->set(10,2,'thi.php');
echo $p->getFooter();
echo $p->getJumpPage();
*/
?>