Jquery 返回相同结果的Ajax无限滚动
我有这个函数,它检测用户何时到达页面底部,然后向服务器发送一个ajax请求Jquery 返回相同结果的Ajax无限滚动,jquery,sql,ajax,loops,Jquery,Sql,Ajax,Loops,我有这个函数,它检测用户何时到达页面底部,然后向服务器发送一个ajax请求 $(window).scroll(function() { // if at bottom, add new content: if ($(window).scrollTop() == $(document).height() - $(window).height()) { var data = { mode: "bottom" }; $.a
$(window).scroll(function()
{
// if at bottom, add new content:
if ($(window).scrollTop() == $(document).height() - $(window).height())
{
var data = { mode: "bottom" };
$.ajax({
type: 'POST',
url: 'server/script/infinity.php',
data: data,
success: function(data){
$("#load").append(data);
}
});
}
});
然后将请求中的数据输出到
框中我的问题是返回的结果与页面上已有的结果相同。我需要在数据库中获得接下来的5个结果。
这是我当前的SQL查询:
mysqli_query($mysqli,"SELECT * FROM posts ORDER BY id DESC LIMIT 5");
while($post = mysqli_fetch_array($result)) { ... }
我试过
mysqli_query($mysqli,"SELECT * FROM posts ORDER BY id DESC LIMIT 5, 5");
请参见LIMIT 5,5
,这解决了接下来5个结果的问题,但是当用户不断滚动时,同样的问题会出现,我需要一种方法来循环,但每次都会增加限制。有什么想法吗
"SELECT * FROM posts ORDER BY id DESC LIMIT 5(X), 5")
X值必须是参数化的
javascript:
var data = {page : 10};
$.ajax({
type: 'POST',
url: 'server/script/infinity.php',
data: data,
success: function(data){
$("#load").append(data);
}
});
php:
$starting_limit = $_REQUEST['page'];
mysqli_query($mysqli,"SELECT * FROM posts ORDER BY id DESC LIMIT ". $starting_limit.", 5");
您必须跟踪查询的起始限制让客户端跟踪并随ajax请求一起发送要跳过的“页面”数或帖子数。