Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 返回相同结果的Ajax无限滚动_Jquery_Sql_Ajax_Loops - Fatal编程技术网

Jquery 返回相同结果的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

我有这个函数,它检测用户何时到达页面底部,然后向服务器发送一个ajax请求

$(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请求一起发送要跳过的“页面”数或帖子数。