不多說,先放出主角:實現分頁功能的sql語句(news管理系統的分頁語句~~):
select
newsno, news_title, news_context,news_author,news_pubdate, news_type,readcount, news_images
from
(select rownum as r,t.*from
(select news_info.*from news_info )t
where rownum<=?*3)
where r >(?-1)*3
這個sql語句就能實現每頁顯示3條資訊的分頁功能。
理解一下:
select news_info.*from news_info
查詢到的是表中所有的資訊。
select rownum as r,t.*from (select news_info.*from news_info )t where rownum<=?*3
控制每頁查詢到的資訊數量
外面的r >(?-1)*3則實現「分」的功能,表示從哪一頁開始。3表示每一頁的新聞數量,?表示當前頁碼
個人理解是,裡面的where控制每頁的顯示數量,外面的where控制從哪開始。
先看一張,方便理解:
這是使用者所能看到和操作的功能。要實現分頁,需要知道兩個變數即可,當前頁pageno和總頁pagenums。為什麼呢?
所以,接下來我們就要考慮怎麼知道pageno和pagenums,即可。
舉個例項,要求實現新聞列表的分頁顯示功能。
分頁的總頁數不就是新聞的數量除以每頁顯示的新聞數量嗎?新聞的數量即獲取資料庫表中行數,每頁顯示新聞的數量是固定的值,下面暫且賦值為3。注意:取餘不為零就需要再給一頁來顯示新聞,即pagenums+1。
下面是獲取資料庫表中資料行數的sql語句:
select count(*) from news_info;
再用getint(1)從結果集中取出來。這裡的1理解為查詢結果的列號為1。
pageno我們都知道本身這個值從頁面上是獲取不到的,但是是從第一頁開始的,所以我們可以判斷是否為null,為null的話說明了,這一頁就是第一頁,賦值為1。然後,不為null,就從頁面獲取值,後一頁即pageno=
pageno=$。
基本方法上面都提及了。
下面送上我的專案例項:
jsp(c:when來控制檢視顯示):
$
$
1}">
首頁當前頁數:[$/$]
末頁
servlet:
int pagenums = 0;
int newnums = infobiz.getnewsnums();
//總頁數的演算法,規定每頁顯示3條新聞
if (newnums%3==0) else
session.setattribute("pagenums", pagenums);
string pageno = null;
pageno = request.getparameter("pageno");
data list分頁功能的實現
data list分頁顯示功能的實現 1.定義靜態變數 private static phototables photos new phototables 儲存路徑列表 記錄所有頁和當前頁 private static int32 current pos 1 private static int32...
分頁功能的實現(servlet javabean)
select from book limit 0,4這句sql語句的意思就是 從book表中取資料的前四條資料。所以就可以使用 select from book limit x,y語句來實現分頁。所以要想實現分頁。必須要知道的有 int pagesize 頁面的最多商品個數 int currentp...
GrdView分頁功能的實現
1.設定grdview控制項的allowpaging屬性為true。2.設定grdview控制項的pagesize屬性為15 每頁15條資料 3.設定grdview控制項的pagesetting mode屬性為numeric。4.設定grdview控制項的pagesetting pagebutton...