PHPでのページング補助機能メモ



phpでページングしているときに、IDをキーにページを呼び出していたとします。

この場合前ページのIDはid-1、次ページはid+1で
<前へ | このページ | 次へ>
のようにリンクを発生できますが、
IDをキーにしているのにIDが連続していないテーブルの場合どうするか?

つまり入力時は完全に通し番号になっていますが、あとから削除されたページがあってIDが連続しなくなった場合どうするか?
と考えた時に使ったのがこの方法です。

前ページへのリンクは
//$idTmpとして自分のページIDを$_GETしています
//これが前ページのリンク
$pid0Tmp = $idTmp-1;

//ここで別の関数を読み込んでいる
$PARTS2 = new edit_Contents();
//sonoIDでページが存在するか確認する
$_check_ = $PARTS2->id_call($pid0Tmp,'page_table');
//ページが存在するまでid-1を実行
while ($_check_==0){
$pid0Tmp -=1;
$_check_ = $PARTS2->id_call($pid0Tmp,'page_table');
}

/ページが存在したら
<a href="{$MyName}?id={$pid0Tmp}">
<img src="./images/hoge/hoge.png" alt="< PREV" class="flo_right" /></a>
のようにリンクを発生させます。

//同様に次ページは
$pid1Tmp = $idTmp+1;

$_check_ = $PARTS2->id_call($pid1Tmp,'page_table');
while ($_check_==0){
$pid1Tmp +=1;
$_check_ = $PARTS2->id_call($pid1Tmp,'page_table');
}
と発生させました。

記事id:847 / 12141PV

関連記事