【问题标题】:php foreach infinite scrollphp foreach 无限滚动
【发布时间】:2013-07-18 17:11:54
【问题描述】:

我有一个很长的 foreach,我想在用户向下滚动时分步加载(无限滚动),但我已经搜索了解决方案,但没有找到解决方法。

我的代码类似于:

foreach ($multi_array as $key=>$value){
  echo $value[0]."<br />";
  echo $value[1]."<br />";
  echo $value[2]."<br />";
  echo $value[3]."<br />";
  echo $value[4]."<br />";
  ....
}

结果很长,我想包含一个无限滚动而不是传统的分页。

我知道这个效果必须在 javascript 中完成,我已经尝试过 jquery waypoints,但由于某种原因,我无法让它工作。

【问题讨论】:

  • 您需要使用 Ajax 以便在到达页面底部时您的应用程序可以获取下一组记录...。我想这类似于 question
  • 我认为从div而不是外部php文件中检索数据的解决方案会更实用。这样,我可以每 x 次 foreach 循环打开和关闭一个 div 标签。一旦内容被划分为 div,当页面到达底部时,javascript 将继续检索这些 div。但是如何?!?

标签: php foreach scroll infinite


【解决方案1】:

您不能使用 PHP 进行“滚动”。 PHP 是一种在服务器上评估的语言。客户端(可以滚动)永远不会看到任何 PHP。如果要滚动,则必须使用 JavaScript。

使用 JavaScript 的一种方法是使用 AJAX 请求加载内容。已在您的 cmets 中发布的链接是一个好的开始:Infinite scrolling within ajax-loaded page

【讨论】:

  • 对不起,我会在我最初的问题中添加信息。
【解决方案2】:

你不能用 PHP 做,但是你可以把它和 Javascript 混合,创造无限滚动的效果,每次迭代都要求滚动的一部分。

这个 jQuery 插件可以帮助你:jQuery WayPoint Infinite Scroll

【讨论】:

  • 那是我的第一次尝试,可能是最好的选择,但我无法让它运行。你能给我一个工作的例子吗?
【解决方案3】:

在测试了各种脚本后,我无法让任何一个工作。

最后,我这样解决了问题:

1- 创建了一个带有 foreach 的 php 脚本和一个通过 $_GET 变量知道它在哪里的分页系统

2- 创建了一个带有 div 的新文件。创建了一个触发器,该触发器知道用户何时到达页面末尾。 该触发器做了两件事:一个随触发器递增的简单计数器和一个检索 php 脚本数据并将其放在 div 上的 ajax。计数器是为了让我可以增加请求的页面,如下所示:

url: "data.php?page="+counter

简单但有效。当没有更多页面时,我仍然需要找到一种方法让 php 脚本告诉 javascript。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-01
    • 2013-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-09
    相关资源
    最近更新 更多