0

我正在通过 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>>" />
4

2 回答 2

0

你想要的是LIMIT关键字。您可以像这样指定要开始和结束的记录:

blah sql statment blah LIMIT 1,5;

您的下一个查询是:

blah slq statement blah LIMIT 6,10;

如果您希望能够仅通过一个查询显示所有内容,请查看 JQuery 库:

http://datatables.net/

于 2012-11-02T18:02:08.147 回答
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 设置为另一个可以更改的变量

于 2012-11-02T18:13:45.720 回答