0

我制作了一个表格列表,其中显示了许多记录。目前每次最多显示 10 个。我制作了一个按钮,单击该按钮将显示表中的下 10 条记录。我想知道如何对其进行编码以使其工作?

function showAll(qstring,qtype){
 $("#vsdiv").show();
 var myurl="scripts/searchadmin.php"; 
 $.ajax({
  url: myurl, dataType:'json',data:{querystring:qstring,querytype:qtype},
  success: function(member){
   $("#resultstable").append('<tr class="yellow">'+
                                        '<th>#REC</th><th>JOINED</th><th>USER NAME</th>'+
                                        '<th>CONTACT</th><th>ADDRESS</th><th>PHONE</th>'+
                                        '<th>EMAIL</th><th>STATUS</th><th>SELECT</th></tr>');
   var j=0;var totrecs=1;
   for(var i=0;i<10;i++){
    $("#resultstable").append('<tr class="trow'+j+'">'+
                  '<td class="ids" id="z'+i+'">'+totrecs+'</td>'+
          '<td>'+member[i].jdate+'</td>'+
          '<td class="users"     id="username'+i+'">'+member[i].username+'</td>'+
          '<td id="contact'+i+'">'+member[i].fname+' '+member[i].lname+'</td>'+
          '<td id="myaddress'+i+'">'+member[i].address1+' '+member[i].town+'</td>'+
          '<td id="phone'+i+'">'+member[i].phone+'</td>'+
          '<td id="email'+i+'">'+member[i].email+'</td>'+
          '<td id="status'+i+'">'+member[i].status+'</td>'+
          '<td><input type="checkbox" name="whome" id="showMe'+i+'"'+
                                         'class="boxes" onclick="getMe('+i+')" /></td></tr>');  
                                         $('#sr').html('Showing 1 of '+member.length+' Members')

});


  totrecs++;
  j++;
 }
}
});
}

这是当前显示前 10 条记录的功能,当我单击按钮时如何显示下一组 10 条记录?有任何想法吗?

4

1 回答 1

0

您可以实现此目的的一种方法是将范围信息添加到您的查询中,这可能看起来像这样:

var rangestart = 0;
var rangeend = 9;
var rangeincrement = 10;
function showAll(qstring,qtype){
 $("#vsdiv").show();
 var myurl="scripts/searchadmin.php"; 
 $.ajax({
  url: myurl, dataType:'json',data:{querystring:qstring,querytype:qtype,rangestart:rangestart,rangeend:rangeend},
  success: function(member){
   $("#resultstable").append('<tr class="yellow">'+
                                        '<th>#REC</th><th>JOINED</th><th>USER NAME</th>'+
                                        '<th>CONTACT</th><th>ADDRESS</th><th>PHONE</th>'+
                                        '<th>EMAIL</th><th>STATUS</th><th>SELECT</th></tr>');
   var j=0;var totrecs=1;
   for(var i=0;i<10;i++){
    $("#resultstable").append('<tr class="trow'+j+'">'+
                  '<td class="ids" id="z'+i+'">'+totrecs+'</td>'+
          '<td>'+member[i].jdate+'</td>'+
          '<td class="users"     id="username'+i+'">'+member[i].username+'</td>'+
          '<td id="contact'+i+'">'+member[i].fname+' '+member[i].lname+'</td>'+
          '<td id="myaddress'+i+'">'+member[i].address1+' '+member[i].town+'</td>'+
          '<td id="phone'+i+'">'+member[i].phone+'</td>'+
          '<td id="email'+i+'">'+member[i].email+'</td>'+
          '<td id="status'+i+'">'+member[i].status+'</td>'+
          '<td><input type="checkbox" name="whome" id="showMe'+i+'"'+
                                         'class="boxes" onclick="getMe('+i+')" /></td></tr>');  
                                         $('#sr').html('Showing 1 of '+member.length+' Members')

});


  totrecs++;
  j++;
 }
 rangestart += rangeincrement; // this assigns the new range start value
 rangeend += rangeincrement; // assign new range end value
}
});
}

然后您的按钮再次执行相同的查询。您还需要在服务器端更改查询以仅返回您需要的范围,例如

SELECT * FROM xyz WHERE xyz.somevalue = querystring LIMIT rangestart, rangeend;

这应该得到你正在寻找的结果。

于 2012-11-08T00:17:13.563 回答