我有一个非常长的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,但由于某种原因,我无法让它发挥作用。
答案 0 :(得分:1)
你不能用PHP“滚动”。 PHP是在服务器上评估的语言。客户端(可以滚动)永远不会看到任何PHP。如果你想滚动,你必须使用JavaScript。
JavaScript的一种方法是使用AJAX请求加载内容。您在评论中发布的链接是一个良好的开端:Infinite scrolling within ajax-loaded page
答案 1 :(得分:1)
在测试各种脚本后,我无法使用任何脚本。
最后,我用这种方式解决了问题:
1-用foreach和分页系统创建了一个php脚本,该系统通过$ _GET变量知道它在哪里
2-创建了一个带有div的新文件。创建了一个触发器,知道用户何时到达页面末尾。 该触发器执行两项操作:一个简单的计数器,它随触发器一起递增,一个ajax,它检索php脚本的数据并将其放在div上。计数器是这样我可以增加请求的页面,如下所示:
url: "data.php?page="+counter
简单但有效。我仍然需要找到一种方法让php脚本在没有更多页面时告诉javascript。
答案 2 :(得分:0)
你不能用PHP做到这一点,但你可以将它与Javascript混合以创建无限滚动的效果,在每次迭代中要求一段滚动。
这个jQuery插件可以帮助你:jQuery WayPoint Infinite Scroll