/*************************************************** * *********************************
* 完璧なページング クラス、ページングをカスタマイズできます (ガオ パン先生よりも完璧です、O(∩_∩)O はは~)
************************************************* * ************************************
*Copyright (C) 2011-2012 North Sea Love Letters - プログラマーのブログ、全著作権所有。 *
************************************************* * ********************************
* $著者: 北海ラブレター (hackmyth@163.com) $
* $日付: 2011-07-18 10:00:00 $
************************************************* * ********************************/
クラスページ{
プライベート$合計;
プライベート$ listrows;
private $limit; // アイテム数を制限する
プライベート$ PAGENUM;
プライベート$ページ;
private $config=array('head'=>"レコード", "prev"=>"前のページ", "next"=>"次のページ", "first"=>"ホームページ" , " last"=>"最後のページ");
/**
*コンストラクターメソッドでは、ページングクラスのプロパティを設定できます
* @param int $listRows オプション、各ページに表示されるデフォルトのレコード数
*
*/
パブリック関数 __construct($total,$listRows=10){
$this->total=$total;
$this->pageNum=ceil($this->total/$this->listRows);
If ($ _ get ['page'] & gt; $ this- & gt; pagenum) {//
$_GET['page']=$this->ページ番号;
}
$this->page=!empty($_GET['page'])?$_GET['page']:"1"; // 現在のページ
$this- >limit=$this->setPage();
}
パブリック関数 __get($args){
If ($ args == 'limit') {// 不正なリクエストをフィルタリングします
$this->limit; を返す
}
null を返す;
}
// ページング式を計算する
プライベート関数 setPage(){
return "limit ".($this->page-1)*$this->listRows.",".$this->listRows;
}
//上一页
プライベート関数 prev(){
return "".$this->config['prev']."";
}
//次の页
プライベート関数 next(){
return "".$this->config['next']."";
}
//首页
プライベート関数 first(){
return "".$this->config['first']."";
}
//尾页
プライベート関数 last(){
return "".$this->config['last']."";
}
//分页列表
プライベート関数 pagelist(){
$lists.='';
for($i=1;$ipageNum;$i++){
$lists.="$i ";
}
$list を返します;
}
パブリック関数 fpage($display=array(1,2,3,4,5)){
$html[1]= "共有".$this->total.$this->config['head'];
$html[2]= $this->prev(); //上一页
$html[3]= $this->next(); //次の页
$html[4]= $this->first(); //首页
$html[5]= $this->last(); //尾页
$html[6]= $this->pagelist(); //列表
$fpage='';
foreach($display として $display){
$fpage.=$html[$index];
}
$fpage を返します;
}
}
|