2017-08-10 32 views
0

我正在使用引導程序表以來自Mysql數據庫的表格格式顯示記錄。在大量記錄中花費很長時間加載時間的引導程序表

當記錄數超過6000時,加載所有數據需要很長時間。它使我的應用程序非常慢。我們可以在點擊頁碼時加載數據嗎?所以最初它應該只需要20個記錄,而不是一個頁面的數字點擊應該記錄下20條記錄。像那樣的東西?

+1

使用分頁我認爲 – sForSujit

+0

使用分頁...參考http://www.a2zwebhelp.com/php-mysql-pagination –

+0

使用jQuery數據表插件,它在這種情況下的救星。例如:https://pandeyz.github.io/Jquery-datatable-client-side-demo-implementation/。它提出了分頁,排序和更多的設施 –

回答

1

是的,當你有很多記錄時,最好一次只顯示它的大塊。這將大大減少頁面加載所花費的時間。

您可以在MySql查詢中使用LIMIT {start}, {amount}來選擇塊。

+0

但我們如何將它與jquery或bootstrap表集成呢? – Jasmeen

+0

您可以在表格下方顯示尋呼機,並讓這些鏈接導航到以「?page = 3」結尾的相同頁面爲例。在服務器端,您可以根據該參數的值加載該頁面的元素。 – Jerodev

1

有兩種可能的解決方案:使用Ajax(負荷由100所記錄的一部分)

  1. 使用分頁
  2. 加載數據
1

客戶端分頁,將有因爲數據同樣影響在頁面加載期間加載。如果您的初始加載時間是您所關心的,那麼服務器端分頁data-side-pagination="server"就是您想要的,因爲(顯然)它會減少服務器的工作量,因爲它會根據頁面限制以塊爲單位劃分請求。它記錄在他們的網站上通過here

<table id="table" 
      data-toggle="table" 
      data-url="/examples/bootstrap_table/data" 
      data-height="400" 
      data-side-pagination="server" 
      data-pagination="true" 
      data-page-list="[5, 10, 20, 50, 100, 200]" 
      data-search="true"> 
     <thead> 
     <tr> 
      <th data-field="state" data-checkbox="true"></th> 
      <th data-field="id">ID</th> 
      <th data-field="name">Item Name</th> 
      <th data-field="price">Item Price</th> 
     </tr> 
     </thead></table>