ホームページ  >  記事  >  バックエンド開発  >  PHP ページネーションのデザイン

PHP ページネーションのデザイン

WBOY
WBOYオリジナル
2016-06-20 12:56:581153ブラウズ

1. ページング クラスの設計 Page.php

class Page {

public $pageSize=6;//ページごとに表示レコード数

public $res; //レコードセット

public $rowCount; // レコードの総数

public $pageNow=1; 🎜>

public $pageCount=1; //総ページ数

public $navigate; //アドレス

public $firstRow; //各ページに表示される最初のレコード

public $rollPage //各ページの各列に表示されるページ数

public $startNum ; //【1】

public $endNum;

public function setNav(){

$ navigate="";

//このナビゲーションの開始ページ

if($this->startNum>1){

$jump =$this->gt ;startNum-$this->rollPage;

//$nav=$this->url."/pageNow/$jump";

$navigate. = "<<  ";

}

for($start=$this->startNum;$start<=$this->endNum;$start++)

{

$navigate. ="[{$start}]";

}

if($this->endNum<$this->pageCount)

{

$jump=$this->startNum+ $this->rollPage;

$navigate.= ">>  ; ";

}

$navigate.="page".$this->pageNow."ページ/合計" .$this-> ;pageCount."page";

$this->navigate=$navigate;

}

public function setPage($url,$pageNow,$rowCount,$pageSize=6,$rollPage=4){

$this-> url=$url;

$this->pageNow=$pageNow;

$this->

$this->pageSize=$pageSize;

$this->rollPage=$rollPage;

$this->pageCount= ceil($this->rowCount/($this->pageSize+0.0));

$this->firstRow=($this->pageNow-1)*$this-> pageSize;

$this->startNum=floor(($this->pageNow-1)/$this->rollPage)*$this-> rollPage+1;


$this->endNum=$this->startNum+$this->rollPage-1;

if($this-> ;endNum>$this ->pageCount)

{

$this->endNum=$this->pageCount;

}

if($rowCount==0){

$this->pageNow=1;

$this->rollPage=1;

$this->

}

$this-> setNav(); //文字列ストレージナビゲーション

}

}

? >


2. SqlHelper.class.php はページング表示メソッドを定義します


public function excute_dql_page($sql1) ,$sql2,& $page){

//データテーブル情報のページング

//sql1 データ、sql2 の行数を求める

$result=mysql_query( $sql1,$this-> or die(mysql_errno());

$arr=array();

while($row=mysql_fetch_assoc($result)){

$arr[ ]=$row;

}

mysql_free_result($result);

$result=mysql_query($ sql2,$this->conn ) または die(mysql_errno());

if($row=mysql_fetch_row($result)){

$page- >pageCount=ceil($row [0]/$page->pageSize);

$page->rowCount=$row[0];

}

mysql_free_result($result);

// ナビゲーション バーを実装します

設定

$fenyePage->setNav();

return $arr;

}

3. ページネーションを使用します (userList.php)。

header("content-type:text/html;charset=utf-8");

require_once ' SQLHelper.class.php';

require_once 'UserService.class.php';

echo "ユーザー情報テーブル
" ;


echo"

";


// fenyePage を作成し、属性値を設定します


$page=new Page();


$page->url= "userList.php";

$page->pageNow=1;

if(isset($_GET['pageNow'])){

$page->pageNow=$_GET['pageNow'];

}

//创建Service负责生一记录集(分页後)

$page->setPage($url,$pageNow);

$userService= new UserService();

$userService->getUserListByPage($fenyePage);


foreach ($page-> res_array as $row){

$id=$row['id'];

echo"

";

//print_r($row['id']);

}

echo"

idname削除 Modify
{$row['id']}< /td>{$row['name']}删除 修正
";

echo $fenyePage->navigate;

?>

到第



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。