以下**是一種分頁的實現。分別是檔案page.php和page.css。
分頁的糾結點在於分頁條中省略號的顯示。
實現的基本邏輯是:
1,接收瀏覽器端傳過來的想要顯示的頁碼數 $page。
$page = $_get['p']。
2,根據頁碼數 $page 以及固定的每頁顯示數 $pagesize 從資料庫中取資料。
$sql = "select * from books limit ".(($page-1)*$pagesize).",10";
3,填充**。
4,頁碼條頭部顯示。
5,頁碼條中間頁碼開始$atart及結束$end的具體求值。
$showpage = 5; 為最大顯示頁碼數
$offset = ($showpage-1)/2; 為偏移量
$sql = 'select count(*) from books';
$totalpage 為總的顯示頁碼數
(1)當$totalpage <= $showpage時,1~1+$totalpage。
(2)當$totalpage > $showpage時,
1~(1+$showpage)
或者 ($page-offset)~($page+$offset+1)
或者($totalpage-$showpage+1)~($totalpage+1)
6,根據 5 中得到的$start和$end顯示中間的頁碼數。
7,6 的同時,還要加上相應的省略號。
(1)$start > 1 時,前加省略號。
(2)$end <= $totalpage 時,後加省略號。
8,跳轉的設定。用form表單的方式。
9,相關樣式的設定。
page.php
1267view code<?php8 //
1傳入頁碼
9$page = $_get['p'];
10$pagesize = 10;//
每頁最多顯示專案數目
11//2根據頁碼提取資料,配置mysql
12$host = 'localhost';
13$username = 'root';
14$password = '';
15$db = 'bookstore';
16$conn = mysql_connect($host, $username, $password
);17
if(!$conn)21
mysql_select_db($db
);22
mysql_query('set names utf8');
23//
3取出資料並生成**
24$sql = "select * from books limit ".(($page-1)*$pagesize).",$pagesize";
25$res = mysql_query($sql
);26
echo "";
27echo '';
28echo 'id
name
';29
while($row = mysql_fetch_assoc($res
))";
32echo "";
33echo '';34}
35echo '
';36
37//
4分頁條引數設定
38$showpage = 5;//
同時最多可以顯示頁碼數量
39$offset = ($showpage-1)/2;//
以當前頁碼為中心的最多偏移量
40$sql = 'select count(*) from books';
41$arr = mysql_fetch_array(mysql_query($sql
));42
$totalpage = ceil($arr[0]/$pagesize);//
可以顯示的總頁數
43mysql_free_result($res
);44
mysql_close($conn
);45
$db = 'bookstore';
46//
5分頁條目首部顯示
47$page_banner = "";
48if($page > 1)else
55//
6分頁條目中部顯示,先找出開頭結尾的頁碼
56if($totalpage > $showpage
) elseif (($page + $offset) >= $totalpage) else
68 } else
73if($start > 1)
76//
7分頁條目中部顯示,根據頁碼顯示相應
77for($i = $start; $i
< $end; $i++)else83}
84//
8分頁條目尾部顯示,根據頁碼顯示相應
85if($end
<= $totalpage)88
if($page
< $totalpage
)else
95//
9跳轉96
$page_banner .= "共".$totalpage."頁";
97$page_banner .= "";
101$page_banner .= "
";102
echo
$page_banner
;103 ?>
104105
page.css
1view codebody
7table
11div.page form
14div.content
17div.page a
23div.page span.current
31div.page span.display
struts分頁的一種實現! 二
查詢action的 片斷 3 翻頁action的 片斷 file 讀 取翻頁引數 turnpageform turnpageform turnpageform form file 從 pagecontroller中取出查詢資訊,並使用bean提供的呼叫介面處理結果 file 根 據引數將資料寫入 r...
一種asp分頁方法
webpagesize 10 每頁顯示的資訊數量 查表語句 sql select from topic set info server.createobject adodb.recordset info.open sql,conn,1,1 查表語句結束 分頁語句 page intsql reques...
分頁的第一種方式
優點 1.能夠立刻響應資料庫中資料的變化,因為非同步重新整理,每隔三秒都從資料庫中取出資料顯示在頁面上。2.可以決定顯示多少個頁碼,並且頁碼是根據當前頁碼的顯示而自動改變的,相比於傳統的頁碼更好看點。缺點 1.非同步重新整理,稍有些複雜。js拼湊字串並顯示為html。點我提交資料 servlet中 ...