2012-12-05 69 views
2

我使用DataTables對我的結果進行分頁。下面是我使用花費更多時間使用數據表獲取記錄

$('#datatable_paging').dataTable(
       { 
        "sPaginationType": "full_numbers", 
        "bLengthChange": false, 
        "iDisplayLength":15, 
        "bFilter": true, 
        "bSort": false, 
        "bInfo": true, 
        "bAutoWidth": false 
        } 
       ); 

現在的代碼,它的工作不錯,但問題是它需要時間來加載結果,因爲我是獲取所有記錄,而不LIMIT(例如:2000)。我在互聯網上搜索,我發現這個鏈接。

  1. DataTables server-side processing example for PHP
  2. DataTables server-side processing example for Code-Igniter

過程之前在服務器端的編碼,我想,以確保有與我上面貼的代碼LIMIT我查詢的任何設置?

+0

雖然datatable是好的但如果你有成千上萬的記錄它將需要很多的執行時間我不會推薦它 –

+0

我有3k行(和10列),它加載<2秒 – Stranger

回答

0

你可以把在服務器端數據庫查詢一個極限,這將減少將數據從數據庫傳輸到PHP,然後形成PHP來JS所需要的時間。 請讓我知道是否有任何限制可以阻止使用LIMIT子句。

+0

我的代碼上面貼出的是客戶端過程。如果我們設定了限制,剩下的記錄怎麼樣? –

+0

對不起.. !!錯誤「你可以把查詢本身LIMIT」 - >在服務器端腳本數據庫查詢放在限制。它會起作用嗎? –

+0

不,它不會工作 –

2

您需要查看服務器端處理以加載記錄。
http://datatables.net/examples/data_sources/server_side.html

這樣你只需要返回的記錄足以顯示一個頁面,每次點擊下一步會做一個快速的Ajax請求,以獲得下一批的記錄。

+0

我通過谷歌搜索獲得了相同的鏈接。謝謝。 –

相關問題