HOME > > > > >

PEAR::pager 動作サンプル

Peager動作サンプル

PHP

  1. <?php
  2. // peger読み込み
  3. require_once("Pager.php");
  4.  
  5. // データは適用な配列
  6. $data = array(val1, val2, val3,...);
  7.  
  8. //1ページ表示数
  9. $perpage = 5;
  10.  
  11. // Pagerに渡すパラメータの設定
  12. $params = array(
  13.                 "perPage" => $perpage,//1ページのデータ数
  14.                 "totalItems" => count($data),//総データ件数
  15.                 "mode" => "Jumping",
  16.                 "firstPagePre" => "{",
  17.                 "firstPageText" => "最初",
  18.                 "firstPagePost" => "}",
  19.                 "lastPagePre" => "{",
  20.                 "lastPageText" => "最後",
  21.                 "lastPagePost" => "}"
  22.                 );
  23.  
  24. // インスタンス作成
  25. $pager = Pager::factory($params);
  26. $navi = $pager->getLinks();
  27.  
  28. //ページのID
  29. $pager->getCurrentPageID();
  30.  
  31. //開始インデックス
  32. $index = ($pager->getCurrentPageID()-1) * $perpage;
  33.  
  34. print("<p>" . $navi["all"] . "</p>\n");
  35.  
  36. for ($i=$index; $i<$perpage + $index; $i++) {
  37.     echo isset($data[$i]) ? "<li>" . $data[$i] . "</li>" . "\n" : "";
  38. }
  39.  
  40. print("<p>" . $navi["all"] . "</p>\n");
  41. ?>

メソッド

Pager::factory($option:Array)

Pagerのインスタンスを作成。

Pager::setOptions() / Pager::build()

Set or change option after the Pager object has been constructed

setOptions()でオブジェクト作成後にオプションを設定あるいは変更を設定してbuild()で再生成するはずなんだけどうまくいかない・・・

1 2 3 4 5 6 7 Next >> 

1 2 3 4 5 6 7 8 9 10  Next >> 

Pager::getCurrentPageID()

現在のページのIDを返す。

int(1)

Pager::getLinks()

back/next/first/last とページのリンクを配列、ハッシュの形で返す。

array(15) { [0]=> string(0) "" [1]=> string(608) "1 2 3 4 5 6 7" [2]=> string(108) "Next >>" [3]=> string(0) "" [4]=> string(103) "{最後}" [5]=> string(728) "1 2 3 4 5 6 7 Next >> " [6]=> string(216) " " ["back"]=> string(0) "" ["pages"]=> string(608) "1 2 3 4 5 6 7" ["next"]=> string(108) "Next >>" ["first"]=> string(0) "" ["last"]=> string(103) "{最後}" ["all"]=> string(728) "1 2 3 4 5 6 7 Next >> " ["linktags"]=> string(216) " " ["linkTagsRaw"]=> array(4) { ["first"]=> array(0) { } ["prev"]=> array(0) { } ["next"]=> array(2) { ["url"]=> string(62) "/index.php?url=library/pear/package/pager/sample/&pageID=2" ["title"]=> string(9) "next page" } ["last"]=> array(2) { ["url"]=> string(62) "/index.php?url=library/pear/package/pager/sample/&pageID=7" ["title"]=> string(9) "last page" } } }

Pager::getNextPageID()

次のページのIDを返す

int(2)

Pager::getOffsetByPageId()

Returns offsets for given pageID.

array(2) { [0]=> int(1) [1]=> int(5) }

Pager::getPageData()

Returns an array of current pages data

array(0) { }

Pager::getPageIdByOffset()

Returns the page number for the given offset

getPageIdByOffset($pager->getCurrentPageID())); ?>

Pager::getPageRangeByPageId()

Returns offsets for given pageID.

getPageRangeByPageId()); ?>

Pager::getPreviousPageID()

Returns previous page number.

bool(false)

Pager::getPerPageSelectBox()

Returns a string with a XHTML SELECT menu, to choose how many items per page should be displayed.

Pager::isFirstPage()

現在のページが最初のページかどうかをBooleanで返す

bool(true)

Pager::isLastPage()

現在のページが最後のページかどうかBooleanで返す。

bool(false)

Pager::isLastPageComplete()

Returns whether last page is complete

bool(false)

Pager::numItems()

総アイテム数を返す

int(32)

Pager::numPages()

ページ数を返す

int(7)

Pager::Pager()

インスタンスを作成(非推奨)

設定可能オプション

Pager::factory($option:Array)、Pager::setOptions($option:Array)の引数

PHP

  1. <?php
  2. $option = array(
  3.     'itemData' => 'ページ付けするアイテムの配列を指定します。:Array',
  4.     'totalItems' => 'ページ付けするアイテムの数を指定します (itemDataが指定されなかった場合のみ使用されます)。:Integer',
  5.     'perPage' => 'ページごとに表示するアイテムの数を指定します。:Integer',
  6.     'delta' => '現在のページの前後に表示するページ番号の数を指定します。:Integer',
  7.     'mode' => '"Jumping" or "Sliding"を指定します。ページャーの動作を決定します。:String',
  8.     'httpMethod' => '使用する HTTP メソッドを指定します。 有効な値は 'GET' または 'POST' です。:String',
  9.     'formID' => 'POST モードで、どの HTML フォームを使用するかを指定します。:String',
  10.     'importQuery' => 'もし true (デフォルトの振る舞い) ならば、変数と値はサブミットされたデータ (クエリ文字列) からインポートされ、リンクの生成に使用されます。または、全く無視されます。:Boolean',
  11.     'currentPage' => '初期ページ番号を指定します (もし、デフォルトで2ページ目を表示したい場合、currentPage に2を指定します):Integer',
  12.     'expanded' => 'もしTRUEなら、ウィンドウサイズは常に 2*delta+1 となります。:boolean',
  13.     'linkClass' => 'リンクスタイルのためのCSSクラス名を指定します。:string',
  14.     'urlVar' => 'ページ番号を示すためのURL変数名を指定します。デフォルトは "pageID"。:string',
  15.     'path' => 'ページへの絶対パス(ページ名は除く)を指定します。:string',
  16.     'fileName' => 'ページの名前。もし、appendがTRUEなら、 "%d" が使用されます。:string',
  17.     'fixFileName' => 'もし FALSE なら、オプション fileName は上書きされません。自己責任で使用してください。:boolean',
  18.     'append' => 'もしTRUEなら、pageIDはGET値としてURLに追加されます。 もしFALSEなら、fileNameに従って、 URLに埋め込まれます。:boolean',
  19.     'altFirst' => '最初のページへのリンクに表示される alt 文を指定します。 デフォルト値は、"first page"。 もしページ番号の文字列としたい場合は、プレースホルダとして "%d" を使用してください ("page %d" のインスタンス)。:string',
  20.     'altPrev' => '前ページへのリンクに表示されるalt文を指定します。 デフォルト値は、"previous page"。:string',
  21.     'altNext' => '次ページへのリンクに表示されるalt文を指定します。 デフォルト値は、"next page"。:string',
  22.     'altLast' => '最後のページへのリンクに表示される alt 文を指定します。 デフォルト値は、"last page"。 もしページ番号の文字列としたい場合は、プレースホルダとして "%d" を使用してください ("page %d" のインスタンス)。:string',
  23.     'altPage' => 'ページ番号の前に表示されるalt文を指定します。 デフォルトは、"page " (この後にページ番号が続く) です。 オプションで、プレースホルダとして "%d" を使用する (たとえば "page n. %d") ことができます。これにより、ページ番号の位置を指定します。:string',
  24.     'prevImg' => '"<<"の代わりに表示する文字を指定します。 "<< PREV"や <img/>などが使えます。:string',
  25.     'nextImg' => '">>"の代わりに表示する文字を指定します。 "NEXT >>"や <img/>などが使えます。:string',
  26.     'separator' => 'ページ番号を分けるために使われる文字を指定します。 <img/>やコンマ、ハイフンなどが使えます。:string',
  27.     'spacesBeforeSeparator' => 'セパレータの前のスペースの数を指定します。:integer',
  28.     'spacesAfterSeparator' => 'セパレータの後のスペースの数を指定します。:integer',
  29.     'curPageLinkClassName' => '現在のページのリンクに使う CSS クラス名を指定します。:string',
  30.     'curPageSpanPre' => '現在のページのリンクの前のテキストを指定します。:string',
  31.     'curPageSpanPost' => '現在のページのリンクの後のテキストを指定します。:string',
  32.     'firstPagePre' => '最初のページ番号の前の文字を指定します。 <img/>や"{"、空文字などが使えます。:string',
  33.     'firstPageText'' => '最初のページ番号の文字を指定します。:string',
  34.    'firstPagePost' => '最初のページ番号の後の文字を指定します。 <img/>"{"、空文字などが使えます。:string',
  35.    'lastPagePre' => 'firstPagePreと同様です。 ただし、最後のページ番号に対して使用されます。:string',
  36.    'lastPageText' => 'firstPageTextと同様です。 ただし、最後のページ番号に対して使用されます。 :string',
  37.    'lastPagePost' => 'firstPagePostと同様です。 ただし、最後のページ番号に対して使用されます。:string',
  38.    'clearIfVoid' => '1ページしかない場合、ページャリンクを表示しない (空文字が返ります)かどうかを指定します。:boolean',
  39.    'extraVars' => 'additional URL vars to be added to the querystring.:array',
  40.    'excludeVars' => 'URL vars to be excluded from the querystring. :array',
  41.    'useSessions' => 'もしTRUEなら、ページごとに表示するアイテム数は、 $_SESSION[$_sessionVar] 変数にストアされます。:boolean',
  42.    'closeSession' => 'もしTRUEなら、セッションはR/Wされた後にクローズされます。:boolean',
  43.    'sessionVar' => 'perPageの値を格納するセッション変数名を指定します。 一つのページで複数のPagerインスタンスを使用する場合、 デフォルトと異なる値を指定します。:string',
  44.    'showAllText' => 'generated by getPerPageSelectBox() getPerPageSelectBox() で生成されたセレクトボックスでの 'show all'オプションのために使用されるテキスト :string',
  45.    'pearErrorMode' => 'raiseError()でPEAR_ERRORモードを使用するかどうかを指定します。 デフォルトは、PEAR_ERROR_RETURN。:constant',
  46. );
  47. ?>