我有这个功能,可以检测用户何时到达页面底部,然后向服务器发送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);
}
});
}
});
然后,在<div id="load"></div>
框中输出请求中的数据。 我的问题是返回的结果与页面上已有的结果相同。我需要在数据库中获得NEXT 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个结果的问题,但是当用户继续滚动时出现同样的问题,我需要一种方法来循环这个但是增加每个限制时间。有任何想法吗?
答案 0 :(得分:1)
"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");
您必须跟踪查询的起始限制