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();