9 分頁瀏覽的管理

2021-09-06 15:51:23 字數 2576 閱讀 7629

閱讀目錄

回到頂部

前面博文中,通過自行構造html****,可以生成易於管理、易於擴充套件的資料列表。但在實際應用中,資料量動則成百上千,單一頁面根本無法完全顯示所有資料。把所有資料進行分頁後逐頁顯示,是當前比較流行的資料展示方式。因此,我們需要研究和**方式展示資料相適應的分頁管理機制。

分頁顯示的核心,是根據頁面記錄數、頁號、查詢條件、排序順序等因素,在資料庫中查出該頁相對應的資料集(datatable)。按頁返回資料集的功能,已經作為乙個基本的功能被封裝到accessdb中了,通過accessdb.getpage就可以直接獲取。因此,我們只需要關心執行查詢以外的各種管理和操作,包括以下方面:

回到頂部

aspx有多種方式在頁面間傳遞狀態,如cookie、session、url引數等。其中,以url引數進行狀態傳遞,是當前很多分頁工具的普遍做法。綜合考慮需求,使用url傳遞引數,需要定義以下引數:

分頁的管理在頁面中的體現就是分頁器,即一組鏈結按鈕和文字資訊,通過它們可以了解當前分頁資訊,進行各種分頁的跳轉。有了上述的引數定義後,就可以定義分頁的幾個主要鏈結的形式。和前面的**生成工具相一致,我們把分頁器的html**生成也封裝到乙個函式中:

通過語句呼叫:

strcontent += getpager(20,1,"");

達到html結果如下:

頁面顯示效果如下:

對於分頁器的構造方法而言,需要的引數,就是pageno而已。但如果頁面還有其他的引數,跳轉鏈結應該同時把這些引數傳遞給下乙個頁面。因此,我們看到構造方法中有乙個urlpara,就是用來傳遞其他的引數的。

回到頂部

通過傳入的引數,就可以進行頁面資料的獲取了。獲取記錄的流程是:

取得引數——查詢總記錄——判斷範圍,修正頁碼——查詢記錄集——構造分頁器**

**如下:

效果顯示如下:

上面的分頁器的頁面大小pagesize被設定為10,可以修改引數或者改造成為任意指定的大小,非常簡單就不再詳述了。另外,查詢語句中,改用getpage,同時sql語句不再限定條數了。

回到頂部

查詢是資料管理的乙個常用功能,查詢瀏覽介面和資料瀏覽介面往往是同乙個介面,或者說,查詢功能本身就是資料瀏覽的一部分。對於查詢的結果,也需要和瀏覽所有資料記錄一致,採用相同的模式進行操作。所以分頁管理必須要把查詢綜合考慮進來。

如果是查詢結果分頁瀏覽,和前面的分頁瀏覽有何不同呢?其實很容易看到,就是需要把上面的sql語句,增加乙個查詢條件即可。因此,查詢分頁,實質上就是把查詢條件作為引數進行傳遞。

另外,既然把where子句進行引數傳遞,順便把order子句也進行傳遞,這樣sql的大多數需求就能夠滿足了。

在實際應用中,查詢輸入的條件往往是中文的,因此還需要對strwhere進行編碼和解碼,把中文轉換成為url可以識別的utf8編碼。

對於上面的demo頁面,增加乙個查詢對話方塊,如下:

查詢按鈕處理如下:

由於按鈕事件的處理是在page_load之後,在page_load中已經對strcontent進行了一次構造,這裡必須重新構造strcontent,所以把上面的構造方法放到乙個單獨的函式setcontent中,在page_load中呼叫一次,這裡再呼叫一次,進行覆蓋。

另外,引數strwhere是乙個頁面級的變數,預設為空串,可以把引數儲存起來,在呼叫setcontent時,取得這個引數並構造查詢串。

上面**中,strwhere有可能有多種情況:

回到頂部

除了按順序瀏覽,很多頁面數量往往非常巨大,因此分頁器還需要支援跳頁,可以向任意頁面跳轉。由於通過url引數進行控制,實際非常簡單,引數一修改即可。實現則需要通過js來實現。

這樣構造出的分頁器就具備了跳轉功能了!

回到頂部

分頁功能幾乎是每個資料管理頁面都需要的,但其樣式總的來說,不會有太多的變化,因此,寫好乙個通用性較強的樣式,就可以到處使用了。這是乙個常用的分頁器樣式。

加上這個分頁器後,將頁面**放到.pager的div中,效果如下:

回到頂部

以下是頁面的完成處理流程**:

getpager的通用性較強,所以已經整合到commoncode中了,通過pager物件可以訪問。

phpcms呼叫分頁 phpcms v9 分頁

phpcms的分頁很簡單,只需在需要分頁的地方寫入如下 即可 連樣式都有了,如果你是呼叫的cms本身的css的話。我們可以自己給 pages傳值的,pages pages 資訊總數,當前分頁,每頁顯示條數,url規則 pages方法在phpcms的跟路徑下 phpcms libs functions...

4 3分頁儲存管理

1.頁面的概念 記憶體劃分成多個小單元,每個單元k大小,稱 物理 塊。作業也按k單位大小劃分成片,稱為頁面。2.頁表的概念 為了找到被離散分配到記憶體中的作業,記錄每個作業各頁對映到哪個物理塊,形成的頁面對映表,簡稱頁表。頁表的作用 頁號到物理塊號的位址對映 3.位址的處理 作業相對位址在分頁下不同...

4 5分頁儲存管理方式

本部分討論不具備對換功能的純分頁模式,作業執行需要全部裝入記憶體。比較連續分配方式 1.頁面 記憶體劃分成多個小單元,每個單元k大小,稱 物理 塊。作業也按k單位大小劃分成片,稱為頁面。物理劃分塊的大小 邏輯劃分的頁的大小 頁面大小要適中。2.頁表 為了找到被離散分配到記憶體中的作業,記錄每個作業各...