一種分頁的實現

2022-03-19 13:07:49 字數 2990 閱讀 6349

以下**是一種分頁的實現。分別是檔案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

1267

<?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

view code

page.css

1

body

7table

11div.page form

14div.content

17div.page a

23div.page span.current

31div.page span.display

view code

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中 ...