分頁的就是根據符合條件的總記錄除上每頁顯示的記錄就等頁數,原理相當簡單了公式為 $total = ceil($toalRecord / $perpageNum);,php實例代碼如下:
- function outpege($ps,$page)
- {
- // $ps 累計信息數 $page 當前page數 $max 列表的最大數 $min 列表的最小值
- $max = ($page >= 5)? $page+5:10;
- if($max > $ps)$max =$ps;
- $min =($page-5);
- if($min<1) $min =1;
- if($page>1)$pagelist = "<a href="?page=1">首頁</a>";
- for($i=$min;$i<=$max;$i++){
- $pagelist.= ($i!=$page)? "<a href="?page={$i}">{$i}</a>":"<a href="#">{$page}</a>";
- }
- $pagelist.= ($page>=$ps)?'':"<a href="?page={$ps}">尾頁</a>";
- return $pagelist;
- }
分頁代碼二:
- // 分頁, {總記錄數,每頁顯示數,當前頁,最多顯示多少頁,分頁url}
- function page($toalrecord, $perpagenum, $curpage, $url) {
- $total = ceil($toalrecord / $perpagenum);
- $pagearr = array_slice(range(1, $total), max(0, $curpage - ~~($perpagenum / 2)), $perpagenum);
- if($pagearr[0] != 1) {
- array_unshift($pagearr, sprintf("<a href='{$url}%s'><<</a>", $pagearr[0] - 1));
- }
- if($pagearr[count($pagearr)-1] != $total) {
- array_push($pagearr, sprintf("<a href='{$url}%s'>>></a>", $pagearr[count($pagearr)-1] + 1));
- }//開源代碼Vevb.com
- foreach ( $pagearr as $i => &$v ) {
- $v = is_numeric($v) ? "<a href='{$url}{$v}'>{$v}</a>" : $v;
- }
- return "<a href='{$url}'>首頁</a>" . implode('', $pagearr) . "<a href='{$url}" . $total . "'>尾頁</a>";
- }
- 調用
- page(99/*總記錄*/, 9/*每頁顯示數*/, page/*當前頁,從1開始*/, 'http://www.survivalescaperooms.com/?page='/*url前綴*/);
新聞熱點
疑難解答