2012-11-02 72 views
0

我正在通過PHP/SQL生成記錄。該代碼顯示5條記錄。我正在嘗試編程,以便在按下下一個按鈕時,顯示下面的5條記錄。Paginate記錄

代碼:

function show(qstring,qtype) 
{ 
$("#vsdiv").show(); 
var myurl="scripts/searchpage.php"; 
$.ajax({url: myurl, 
     dataType:'json', 
     data:{querystring:qstring,querytype:qtype}, 
     success: function(member) 
     { 
      $("#results").append('<tr class="me">'+'<th>#REC</th> <th>name</th><th>surname</th>'); 
      var j=0; 
      var totrecs=1; 
      for(var i=0;i<5;i++) 
      { 
       $("#results").append('<tr class="rows'+j+'">'+' 
             <td class="ids" id="z'+i+'">'+totrecs+'</td>'+' 
             <td>'+name[i].bdate+'</td>'+' 
             <td class="users" id="username'+i+'">'+member[i].username+'</td>'+' 
             <td id="contact'+i+'">'+member[i].fname+' '+member[i].lname+'</td>'+' 
             <td><input type="checkbox" name="whome" id="showMe'+i+'"'+' 
             class="boxes" onclick="getMe('+i+')" /></td></tr>'); 
       totrecs++; 
       j++; 
      } 
     } 
     }); 
} 

以及用於在HTML按鈕:

<input type="button" id="next5" title="Next 5 Records" disabled="disabled" value="Next 5>>" /> 
+1

請給出你的錯誤/錯誤的詳細信息,否則你將回答你的問題的任務變得更大。 – Sheena

回答

0

你想要什麼LIMIT關鍵字。您可以指定記錄開始與像這樣結束:

blah sql statment blah LIMIT 1,5; 

你的下一個查詢是:

blah slq statement blah LIMIT 6,10; 

如果你希望能夠顯示所有與只有一個查詢檢查出的JQuery庫:

http://datatables.net/

+0

我不想更改sql語句,只是得到js的功能? –

+0

您可以查看Jquery庫數據表。請參閱http://datatables.net/我剛剛在一個完成的應用程序中使用它,它效果很好。 – thatidiotguy

0

你可以只保存在一個JavaScript變量從AJAX調用的返回值。然後還將數組中的起始位置存儲爲接下來的五條記錄。

var returnedData = null; 
var startingPos = 0; 

function addFiveResults(){ 
    //Your code to append to results 
    //from startingPos to startingPos + 5 
    startingPos += 5; 
} 

$.ajax(... 
success: function(member) { 
    returnedData = member; 
    startingPos = 0; 
    addFiveResults(); 
}); 

還使onclick調用addFiveResults();

這將減少ajax請求的數量,並且更通用。你可以很容易地將硬編碼的5作爲另一個可以改變的變量。