gpt4 book ai didi

php - 这是在我的网站上创建无限滚动系统的正确方法吗?

转载 作者:行者123 更新时间:2023-11-29 20:22:33 25 4
gpt4 key购买 nike

我最近学习了 SQL、Ajax 和(面向对象)PHP 的基础知识,我通过创建用户构建信息提要来使用它们。但是,目前该提要仅加载数据库中的 20 个最新帖子(因为一次加载所有帖子会对页面加载时间产生负面影响)。

我决定尝试实现一个无限滚动系统(类似于 Twitter 和 Facebook 使用的方法)将是解决此问题的最佳方案,但我不完全确定如何做到这一点。

我知道我首先需要的是一个函数来判断用户是否已经到达页面底部。为此,我编写了以下简单的 JQuery:

  $(window).scroll(function() { 
var scrollBottom = $(document).height() - $(document).scrollTop() - $(window).height();
if(scrollBottom < 200) {
// send Ajax request
}
});

这段代码应该可以工作,但我担心如果用户在帖子提要更新之前多次滚动,则会存在将多个 Ajax 请求发送到服务器的风险。

我认为接下来我需要做的就是发送 Ajax 请求。当然,当前检索数据库中前 20 个帖子的脚本使用一行 php/SQL,如下所示

$query = "SELECT * FROM table DESC LIMIT 0,20";

我猜我需要用类似的东西替换它

$query = "SELECT * FROM table DESC LIMIT " . $x . "," . $x+20;

然后创建另一个脚本来跟踪 Ajax 请求已发送的次数,并使用它来确定变量 $x 以确保获取正确的结果。

最后我知道我需要创建某种回调函数来显示已获取的帖子。

这是创建无限滚动系统的正确(最佳)方法吗?另外,如何更改 jQuery 以停止发送多个请求?

最佳答案

是的,您是对的,您正在寻找的是 $query = "SELECT * FROM table DESC LIMIT "。 $x 。 ", 20"; 应该获取接下来的 20 行,并防止在更新 $x 之前获取更多行。

关于php - 这是在我的网站上创建无限滚动系统的正确方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39459408/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com