件数が多いときはページ分け!しかしそのページが多いと本末転倒。
定石として対象ページの両サイド数ページずつを表示させたい。
しかし先頭・末尾近くだとifでごちゃごちゃしてしまうのでそこはちょっとロジックでまとめてあげましょう。
$files = scandir($folder, 0);
$fileCnt = count($files);
$dispCnt = 400; //表示件数
$dispPage = 15; //表示ページ数(奇数)
$page = 1; //ページ
$start = 1; //表示開始位置
if(isset($_GET["page"])){
$page = $_GET["page"];
$start = ($page-floor($dispPage/2)+abs($page-floor($dispPage/2)))/2+1-($page-floor($fileCnt/$dispCnt)+floor($dispPage/2)+abs($page-floor($fileCnt/$dispCnt)+floor($dispPage/2)))/2;
}
$pageLink = "<ul>";
for($i = 0;$i<$dispPage;$i++){
$pageLink .= "<li><a href='UImageList.php?page=".($i+$start)."'>".($i+$start)."</a></li>";
}
$pageLink .= "</ul>";
0 件のコメント:
コメントを投稿