Web分頁顯示內容之分頁查詢的三種思路(三)

2021-08-15 09:46:02 字數 1749 閱讀 2721

其三:在服務端分頁。跳到第n頁才查詢、顯示第n頁內容。要點就是根據客戶端**的「頁面」計算出資料庫要查詢的當前頁面的第一條記錄的位置。優點:實時性:跳頁才查詢。資料量小:只載入當前頁的記錄進行顯示。

重點在於兩條語句:select count(*) from …:查詢得到記錄總條數

select * from .. limit pageno,rowscount:查詢從第pageno條開始的rowscount條資料。

int pages=0;            //待顯示頁面

int count=0; //總條數

int totalpages=0; //總頁數

int limit=10; //每頁顯示記錄條數

//計算記錄總數的第二種辦法:使用mysql的聚集函式count(*)

resultset sqlrst = sqlstmt.executequery("select count(*)

from user");

if(sqlrst.next())

//由記錄總數除以每頁記錄數得出總頁數

totalpages = (int)math.ceil(count/(limit*1.0));

//獲取跳頁時傳進來的當前頁面引數

string strpage = request.getparameter("pages");

//判斷當前頁面引數的合法性並處理非法頁號(為空則顯示第一頁,

小於0則顯示第一頁,大於總頁數則顯示最後一頁)

if (strpage == null) else catch(exception e)

if (pages < 1)

if (pages > totalpages)

}//由(pages-1)*limit算出當前頁面第一條記錄,由limit查詢limit條

記錄。則得出當前頁面的記錄

sqlrst = sqlstmt.executequery("select * from user

order by user_id limit "+(pages - 1)*limit + "," + limit);

while (sqlrst.next())

跳頁的實現:跳頁是通過重定向來實現的,通過向當前網頁傳進待顯示的pages,在跳轉後根據pages重新算出頁面顯示的第一條,查limit條顯示。

name="f1"

method="post"

action="index.jsp"

onsubmit=

"return

checknum()">

border="0"

align="center" >

第<%=pages%>頁 共<%=totalpages%>頁 href="index.jsp?pages=1">首頁a>

td>

td>

td>

href="index.jsp?pages=<%=totalpages%>">最後一頁a>

td>

轉到第:type="text"

name="page"

size="8">頁type="submit"

value="go"

name="***ok">

td>

tr>

table>

form>

**部落格:

Oracle之分頁查詢

oracle的分頁查詢語句基本上可以按照本文給出的格式來進行套用。分頁查詢格式 select from select a.rownum rn from select from table name a where rownum 40 where rn 21其中最內層的查詢select from ta...

Oracle之分頁查詢

分頁查詢 在資料量大的情況下,返回指定資料段資料集合,即從第m條 到 第n條 資料集合。分頁查詢一般只需傳入兩個引數 起始記錄數m 終止記錄數n 方式1 select from select rownum as rowno,t.from t table t where 1 1 and rownum ...

SQL之分頁查詢

sql之分頁查詢 最新公司專案用到分頁的sql,與大家分享下,查詢起始頁和結束頁 select from select projectid,creatorid,directorid,managerid,projectno,projectname,status,startdate,finishdate...