无限滚动从数据库再次重复相同的id

时间:2016-04-28 11:56:54

标签: php jquery

朋友我正在尝试使用php和jquery在滚动上加载数据。我的问题是数据库从最后一个id加载,但最后加载的id正在重复。由于jquery冲突或我的代码错误,我无法找到它的天气。我正在使用jquery 1.11.1版本。请参阅下面的图片以便更好地理解。

enter image description here

我的jquery从php获取数据是

 $(window).scroll(function(){
    if  ($(window).scrollTop() == $(document).height() - $(window).height()){
       loadData();
    }
  });

function loadData() 
{ 
    $('div.postloader').html('<img src="http://www.zesteve.com/img/loader.gif">');
    $.post("/getData.php?lastID=" + $(".post-list:last").attr("id"),     
    function(data){
        if (data != "") {
        $(".post-list:last").after(data);            
        }
       $('div.postloader').empty();
    });

}; 

并在getData.php中使用

$last_id  = $_GET['lastID'];
  $stmt = $dbh->prepare('SELECT * FROM review WHERE id < :lastID AND user_id = :user_id order by id DESC LIMIT 5');
  $stmt->execute(array(':lastID' => $last_id,':user_id'=>$user_id));    

朋友,如果您对此无法理解,请发表评论。请帮帮我,我做错了什么?

2 个答案:

答案 0 :(得分:1)

我认为你过快地从服务器中提取数据,尝试添加一个标志,以防止在请求运行时拉出项目:

{{1}}

答案 1 :(得分:0)

比较以下内容:

$last_id  = $_GET['lastID'];

$.post("/getData.php?lastID=" + $(".post-list:last").attr("id"), function(data){

您正在使用POST但在lastID中寻找$_GET

尝试更改为

$last_id  = $_POST['lastID'];