Javascript 在SQL查询中使用JQuery变量作为偏移量
我正在尝试为新闻提要中的帖子实现无限滚动功能。一旦用户到达页脚,帖子就会加载到新闻提要中。Javascript 在SQL查询中使用JQuery变量作为偏移量,javascript,php,jquery,mysql,ajax,Javascript,Php,Jquery,Mysql,Ajax,我正在尝试为新闻提要中的帖子实现无限滚动功能。一旦用户到达页脚,帖子就会加载到新闻提要中。 问题每次执行ajax调用时,我都希望增加查询的偏移量。我想以某种方式将jquery偏移量变量传输到php和SQL查询。 代码 // Infinite Scroll var offset = 0; if($(window).scrollTop() >= $('.post-wrapper').offset().top + $('.post-wrapper').outerHeight() - window
问题
每次执行ajax调用时,我都希望增加查询的偏移量。我想以某种方式将jquery偏移量变量传输到php和SQL查询。
代码
// Infinite Scroll
var offset = 0;
if($(window).scrollTop() >= $('.post-wrapper').offset().top + $('.post-wrapper').outerHeight() - window.innerHeight) {
if (element_in_scroll("footer")) {
$('div.loadmoreajaxloader').show();
$.ajax({
url: '<?= Config::get('URL'); ?>index/loadPosts',
success: function(data) {
if(data) {
$(".post-wrapper").append(data);
$('div.loadmoreajaxloader').hide();
offset++;
} else {
$('div.loadmoreajaxloader').html('<center>Es sind keine weiteren Posts vorhanden.</center>');
}
}
});
}
});
$query = $database->prepare("SELECT * FROM posts LIMIT 1 OFFSET $offset");
$query->execute();
return $query->fetchAll();
在jquery代码(
console.log(offset)
output1、2、3等等)中,偏移量按我所希望的那样递增。但是,我无法将此变量放入SQL查询中。我将非常感谢任何形式的帮助 您没有在ajax请求中发送javascript变量
offset
更改以下行:
url: '<?= Config::get('URL'); ?>index/loadPosts',
您没有在ajax请求中发送javascript变量
offset
更改以下行:
url: '<?= Config::get('URL'); ?>index/loadPosts',
AJAX
中传递offset
值获取文件中的偏移量值
// Infinite Scroll
var offset = 0;
if($(window).scrollTop() >= $('.post-wrapper').offset().top + $('.post-wrapper').outerHeight() - window.innerHeight) {
if (element_in_scroll("footer")) {
$('div.loadmoreajaxloader').show();
$.ajax({
url: '<?= Config::get('URL'); ?>index/loadPosts?offset='+offset,
success: function(data) {
if(data) {
$(".post-wrapper").append(data);
$('div.loadmoreajaxloader').hide();
offset++;
} else {
$('div.loadmoreajaxloader').html('<center>Es sind keine weiteren Posts vorhanden.</center>');
}
}
});
}
}
在AJAX
中传递offset
值
获取文件中的偏移量值
// Infinite Scroll
var offset = 0;
if($(window).scrollTop() >= $('.post-wrapper').offset().top + $('.post-wrapper').outerHeight() - window.innerHeight) {
if (element_in_scroll("footer")) {
$('div.loadmoreajaxloader').show();
$.ajax({
url: '<?= Config::get('URL'); ?>index/loadPosts?offset='+offset,
success: function(data) {
if(data) {
$(".post-wrapper").append(data);
$('div.loadmoreajaxloader').hide();
offset++;
} else {
$('div.loadmoreajaxloader').html('<center>Es sind keine weiteren Posts vorhanden.</center>');
}
}
});
}
}
你能详细说明一下吗?我到底在做什么?对不起,我对这一点很陌生。然后将$\u GET['offset']
绑定到查询。与您现在所做的不同,因为这将允许SQL注入。如果让SQL保持这样的开放状态,那么准备是没有意义的。您能详细说明一下吗?我到底在做什么?对不起,我对这一点很陌生。然后将$\u GET['offset']
绑定到查询。与您现在所做的不同,因为这将允许SQL注入。如果您让SQL保持这样的开放状态,那么准备是没有意义的。非常感谢您的回答!它工作得很好!!然而,我接受了艾米尔的回答,因为他更快。Np,我们都在这里帮助:)非常感谢你的回答!它工作得很好!!然而,我接受了艾米尔的回答,因为他跑得更快。Np,我们都在这里帮助:)
$offset = $_GET['offset'];
$query = $database->prepare("SELECT * FROM posts LIMIT 1 OFFSET $offset");
$query->execute();
return $query->fetchAll();