2010-02-26 78 views
0

我是新來的ajax和jQuery。我正在建立一個搜索頁面,並且需要分頁,因爲它會有很多記錄。我發現很多教程,我們可以做到這一點。但是我看到的所有內容都有頁碼。我的意思是如果我們有像9頁,jquery Ajax分頁Next/Prev - 動態數據

1 2 3 4 5 6 7 8 9 ...

我可能不需要這樣的事情,但我需要一個像首頁上一頁下一頁尾,如果碰巧我可以給他們一個字段輸入頁碼(可選)。

我使用php mysql和limit來實現這一點。

非常感謝。

+0

您可以使用內聯框架並簡單地將搜索頁面加載到該框架中。這更容易... – Warty 2010-02-26 20:50:37

回答

1

我會建議您發送您的sejach請求與ajax,並返回一個包含搜索命中和一些關於搜索的元數據(如total_hits列表,說明有多少可用的命中這個數字應該等於或大於hitlist的長度)。

GET /search?q=<query> 

{'hitlist': [...], 
'total_hits': 1234} 

命中列表的大小可能大約爲3頁,因爲這可能是用戶看到的最常見的命中。所以對於前三頁你不需要訪問服務器。這可以在瀏覽器上的jQuery中完成。欲瞭解更多的結果,你可以有你的服務器支持的可選參數,如:

GET /search?q=<query>&limit=20,40 

限制語法可能是相同的MySQL的,那麼你可以問過去的10太(只記得採取適當的預防措施時,如果你使用SQL,將這些參數傳遞到你的數據庫!)

因此,在瀏覽器上的分頁看看你可以確定它應該看起來像total_hits值。如果有幾個你不需要分頁,並且如果有超多的話,你可以只用一個下一個按鈕來解決。所有的結果都可以顯示在一個,如果你想要任何奇特的分頁效果,你可以看看http://sorgalla.com/projects/jcarousel/