Paginate记录

时间:2012-11-02 18:00:24

标签: php javascript jquery sql ajax

我通过PHP / SQL生成记录。代码显示5条记录。我正在尝试编程,以便在按下下一个按钮时,将显示接下来的5条记录。

代码:

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>>" />

2 个答案:

答案 0 :(得分:0)

您想要的是LIMIT关键字。您可以指定要开始和结束的记录,如下所示:

blah sql statment blah LIMIT 1,5;

您的下一个查询是:

blah slq statement blah LIMIT 6,10;

如果您希望能够只显示一个查询,请查看JQuery库:

http://datatables.net/

答案 1 :(得分:0)

您可以将ajax调用的返回值存储在javascript变量中。然后还将数组中的起始位置存储为接下来的五个记录。

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作为另一个可以更改的变量