2013-03-08 50 views
-1

在我開發的所有時間裏,有一件我從未真正理解的東西是用AJAX搜索結果創建「分頁」的正確方法。用ajax創建分頁結果

所以,我返回了40個結果,我希望能夠一次對它們進行分頁......這是將它們吐出頁面,添加一些css類並隱藏/顯示每一個的問題一次10個組?

有人能指向我的一些「從零開始」分頁的方向嗎?

+0

如果你使用ajax,爲什麼不只是返回你需要的10個結果呢? – jeroen 2013-03-08 17:38:19

+0

Google是你的朋友。另外:http://stackoverflow.com/questions/2178297/ajax-pagination-with-jquery-php-mysql?rq=1 – chriz 2013-03-08 17:38:20

+0

因爲用戶需要知道有超過10個結果,我不應該必須再次查詢數據庫11-20。而@chris,不,谷歌在這種情況下並不是我的朋友。太多垃圾結果。你在那裏的聯繫是毫無意義的。我沒有使用任何框架。 – dcolumbus 2013-03-08 17:40:10

回答

0

遙遠的最簡單的方法就是使用預設的腳本。我建議DataTables,它會爲你做所有的分頁,或者如果你選擇可以通過個別的PHP調用ajax調用。最簡單的方法是,用<thead>吐出一張有效的結果表,然後撥打$(element).datatables()即可完成。

如果您必須從頭開始執行此操作,則需要從數據庫中返回一定數量的結果,並使用該記錄的起始和結束編號進行調用(或者要返回的起始編號和結束編號)然後,通過將不同的參數傳遞給服務器並接收數據,可以構建更改該視圖的按鈕或鏈接。 Ajax會更好,所以你不需要每次都重新加載頁面。

[CEIL][2]是您確定導航頁面的好友。

如果您選擇在每次沒有敲擊數據庫的情況下執行此操作(通過稱爲「流水線」的過程在Datatables中改進了一個概念),那麼您將根據要顯示的數量吐出信息的div,然後顯示並隱藏他們基於你想要的頁面。它不適用於龐大的數據集(太多而且太長以至於無法加載),而且寫起來也不太好。

+0

我不能一次又一次地查詢數據庫嗎?只需吐出結果並將它們分組在一個像標籤一樣的結構中? – dcolumbus 2013-03-08 17:43:04

+0

請參閱編輯。同樣,Datatables或另一個網格是通過遠的路要走。 – bpeterson76 2013-03-08 17:43:30

+0

DataTables看起來很棒。讓我們知道,這正是我在SO上發佈這樣的問題的原因。萬分感謝! – dcolumbus 2013-03-08 17:45:07