いままでやったことがなかったのでメモっとく。AJAXのような処理で出力したページでPagerで作ったそれぞれのページのリンク先がsendRequest()でリクエストしたURLになっているのでページをくってもきちんと表示されないのは、わかってはいたがどんな方法で回避したらよいかググってみた。
PEAR::Pager tutorialsというサイトにて詳しい説明がありました。ゎーぃ。でも使う前に、PEARのHTML_AJAXを鯖にインストールしておきませう。これで、こちらに紹介されているcodeをsampleに使ってみると動きます。私なんかIDの名前1字たいぽしてたおかげでgetElementById()でIDが取得でけないとかで動いてくれなくて2時間ほど唸らせてもらいました...orz。
うちは、データベースの検索クエリを使ったのでちょっと面倒にデータ取得の書き方をしてしまった。検索条件が元々の呼びだしているページからなのでいちいちリクエストするURLにGETで値を送っていたりする。なんか他にいい方法ないかなぁ?
ちなみにわかりにくいところをメモっとく。
(元々のHTML等)
<html>
<body>
<script type="text/javascript" src="server.php?client=all"></script>
server.phpは一番下に書かれていた3行のcode↑
<div id="XXXX">ここでa.phpの内容を表示させる</div>
<script type="text/javascript">
HTML_AJAX.replace('XXXX', 'a.php');
↑はID ↑リクエストするページ
</script>
</body>
</html>
でもってリクエストされたページには
(a.php)
<?php
$pager_params = array(
'append' => false,
'path' => '',
'fileName' => 'javascript:HTML_AJAX.replace('XXXX','a.php?pageID=%d');'
↑この行に書き換えるID名とリクエストしたURLとPagerID を設定
[snip..]
);
と修正して終わり。