2014-02-13 14 views
1
<script> 
    function getfilter(str){ 
     if (str==""){ 
      document.getElementById("result").innerHTML=""; 
      return; 
     } 

     $.ajax({ 
      url: "Views/pfolioresult.php?q="+str, 
      type: "GET", 
      // data: serializedData, 
      success: function (responseText) { 
       $("#result").html(responseText); 
      } 
     }); 
    } 
</script> 

此代碼正常工作。但假設我在數據庫中有10,000個數據。此代碼在加載後立即顯示所有數據。如何根據加載時間逐個顯示數據?這意味着當一個項目被加載然後顯示它,並且其他連續顯示。加載內容並逐個顯示php ajax

+2

這是不可能的,你可以看看可用於jQuery –

回答

0

一些想法,如何可以這樣做:

function show(skip) 
{ 
    $.ajax({ 
     url: "Views/pfolioresult.php?skip=" + skip + "q="+str, 
     type: "GET", 
    // data: serializedData, 
     success: function (responseText) { 
    $("#result").html(responseText); 
      skip++; 
      show(skip); 
     } 
    }); 
} 

show(0); 

,並在PHP查詢應該是這樣的:

SELECT * 
FROM a 
LIMIT $skip, 1 
0

您應該使用分頁,然後在某些情況下加載內容,如滾動或點擊一個標籤「加載更多」。一次加載所有記錄並不是一個好主意。

url: "Views/pfolioresult.php?q="+str+"&page=0&limit=10",

然後在您的查詢,您可以使用pagelimit

$sql = "SELECT ...."; 

$limit = $_POST['page'] * $_POST['limit']; // get offset records 

$sql .= " limit {$limit}, {$_POST['limit']}"; 

當裝載更多的記錄,像2頁面,您可以在AJAX URL設置page=1

0

如果您必須以這種方式展示,您應該拆分響應並逐個顯示或逐批顯示,但這會導致混淆。這不是一個好主意。最好使用jscroll或帶有分頁系統的無縫滾動插件,這樣可以縮短響應時間,以便應用程序能夠更快速地工作,並且可以實現您想要的效果。

+0

的各種無限滾動插件,所以舉一些例子使用代碼插件鏈接@Bala – shanto

+0

如果你看到這裏的例子http:// jscroll .com /這將通過ajax加載下一頁。對於你的要求,你應該調用相同的頁面傳遞額外的查詢字符串,如每次調用遞增時頁面號碼爲1/2/3,後端代碼將讀取頁面查詢字符串並根據該字符串提供響應。 – Bala

+0

您必須對js和後端代碼進行更改才能實現此目的。 – Bala