聊天頁面分頁載入邏輯

2021-07-02 12:44:19 字數 1361 閱讀 2786

第一頁:

1.從資料庫按時間倒序取出資料,

假設資料為(為表示方便,僅僅顯示時間):

15:26

14:26

13:26

2.再倒序加入list,此時list中的資料為

13:26

14:26

15:26

3.該list新增之前的list成為新的list

第一頁,之前的list為空的,所以操作後新的list的資料為:

13:26

14:26

15:26

第二頁:

1.從資料庫按時間倒序取出資料,

假設資料為(為表示方便,僅僅顯示時間):

12:26

11:26

10:26

2.再倒序加入list,此時list中的資料為

10:26

11:26

12:26

3.該list新增之前的list成為新的list

10:26

11:26

12:26

13:26

14:26

15:26

抽象成演算法如下:

//listall 用來記錄之前的list

arraylistlistall = new arraylist();

//獲得list

listlist=getmsgbypage(pagecount,offset);

//反轉

collections.reverse(list);

//加入之前的list

list.addall(listall );

//當前的list賦值給listall

listall=list;

分頁載入的sql:

假設一頁載入三個,則第一頁為:

select * from immsg  where  text="3423" order by dialogid limit 3 offset 0;

第二頁為:

select * from immsg  where  text="3423" order by dialogid limit 3 offset 3;

第三頁為:

select * from immsg  where  text="3423" order by dialogid limit 3 offset 6;

抽象出來為:

int pagecount=3;//每頁的數量

int page;//第幾頁

select * from immsg  where  text="3423" order by dialogid limit pagecount  offset (page-1)*

pagecount  ;

物理分頁和邏輯分頁

物理分頁依賴的是某一物理實體,這個物理實體就是資料庫,比如mysql資料庫提供了limit關鍵字,程式設計師只需要編寫帶有limit關鍵字的sql語句,資料庫返回的就是分頁結果。邏輯分頁依賴的是程式設計師編寫的 資料庫返回的不是分頁結果,而是全部資料,然後再由程式設計師通過 獲取分頁資料,常用的操作...

分頁邏輯梳理

分頁 後台web 接收當前頁和每頁顯示數 傳給service,獲取pagebean物件 存到request域,請求 到頁面 service 接收前頁和每頁顯示數 建立pagebean 把引數封裝到物件中 當前頁 前端 每頁顯示數 前端 總記錄數 dao 具體資料 dao 總頁數 手動計算 是否有餘數...

jQuery 懶載入 分頁載入

工作日誌 隨手筆記 僅供參考 大概思路就是載入頁面的時候初始時候載入10個 然後下拉的時候再去觸發介面在載入十個 我用的是jquery 的外掛程式 首先要在給他設定乙個高度 不然下拉滾動的時候不會再去請求介面 html,body overflow y scroll height 100 var pa...