ページ番号を示すためのクエリ変数名を設定する

広告

ナビゲーションリンク上で各ページへのリンクはデフォルトでは「pageID」と言うクエリ変数名を使って「ファイル名?pageID=ページ番号」と言うリンクが作成されています。1つのページ内に複数のPagerを使用する場合などにクエリ変数名を別にする必要があります。ここではクエリ変数名を指定する方法を確認します。

Pagerクラスのオブジェクトを作成する時に指定する「urlVar」オプションを使用します。

$options = array(
  "totalItems" => 100,
  "perPage" => 5,
  "delta" => 5,
  "urlVar" => "pageNo"
);

$pager =& Pager::factory($options);

上記の例ではクエリ変数名として「pageNo」を使用して「ファイル名?pageID=ページ番号」と言うリンクが作成されるようになります。

サンプルプログラム

では簡単なサンプルで実際に試してみます。

sample13-1.php

<html>
<head><title>PHP TEST</title></head>
<body>

<p>テスト</p>

<?php
require_once("Pager/Pager.php");

$options = array(
  "totalItems" => 100,
  "perPage" => 5,
  "delta" => 5,
  "urlVar" => "pageNo"
);

$pager =& Pager::factory($options);
$navi = $pager -> getLinks();

print($navi["all"]);

$currentPageID = $pager -> getCurrentPageID();

print("<p>");
print("現在のページ番号は".$currentPageID."です");
print("</p>");
?>

</body>
</html>

上記をWWWサーバに設置しブラウザで見てみると下記のように表示されます。

ページ番号を示すためのクエリ変数名を設定する

ではナビゲーションリンク上のリンクをクリックして下さい。例えば「3」をクリックします。

ページ番号を示すためのクエリ変数名を設定する

URLの部分が「http://localhost/sample/pearpagertest10.php?pageNo=3」となっており、クエリ文字列として「urlVar」オプションで指定した「pageNo」が使用されていることが確認できます。

( Written by Tatsuo Ikura )