滚动加载更多SQL限制
Scroll Load More SQL Limit
所以我已经布局并制作了这个网站,但现在我需要在滚动中加载更多结果。这个问题在这里已经被问了一百万次了,但我想知道是否有一种简单的方法适合我的构建。理想情况下,我想做一些有限度的事情,但我所看到的一切都是关于有一个完全独立的页面。
页面示例-
$sql = "SELECT * FROM `Products` ORDER BY id LIMIT 0,4 ";
echo "<div class='"full_container'">";
echo "<div class='"full'">";
if ($result = mysqli_query($con, $sql)) {
while ($row = mysqli_fetch_assoc($result)) {
echo "<div class='"item_frame'">";
echo "<div class='"item'">";
echo "<h5>".$row["Name"]."</h5>";
echo "</div>"; #Item End#
echo "</div>"; #Item_Frame End#
JS示例-
$(window).scroll(function() {
if($(window).scrollTop() + $(window).height() > $(document).height() - 100) {
///Where I would have the limit fix
}
});
这可以很容易地切换到能够在滚动上加载更多内容吗?还是我必须使用第二个php页面才能使用ajax?
要获得更多信息,您可能需要通过ajax进行调用,然后在返回数据后使用javascript渲染新图像。你可以像对待常规分页一样对待它,只需记住你得到了多少结果,并将其输入到你的极限中,就像一样
(function () {
var page = 2,
uri = 'moreImages.php';
$(window).scroll(function() {
if($(window).scrollTop() + $(window).height() > $(document).height() - 100) {
$.get (uri, {page: page}, function (data) {
page ++;
$('#container').append (data);
});
}
});
}) ();
然后在PHP页面中,您只需要根据分页规则计算偏移量
$page = (int) @$_GET['page'] ?: 1;
$numItems = 4;
$start = ($page - 1) * $numItems;
$sql = "SELECT * FROM `Products` ORDER BY id LIMIT {$start}, {$numItems}";
差点忘了:在他们到达页面底部之前发送一点请求以加快速度也是值得的。请确保在代码中设置一个标志,标记您正在等待信息,并且只有在信息清楚时才请求更多信息,否则您将在滚动时不断发送请求。
相关文章:
- 使用电话间隙在Android应用程序中显示SQL Lite的数据
- FabricJs-限制主对象内添加对象的移动区域
- 限制javascript变量的最小/最大整数
- Jquery限制输入框中的文本
- 将鼠标旋转限制为特定的度数
- 捕获初始RedQueryBuilder查询中的SQL问题
- d3.js:限制画笔的大小
- 基于数据元素限制动态表单字段
- 从Chrome扩展访问Google Cloud SQL数据库
- 在php和mysql中选择选项.一旦选择了选项,就列出我的sql数据库数据
- WAMP响应内容长度限制
- 什么's导致了512字节的限制-openkeyval或其他什么
- 有没有办法限制Meteor-alded表格包中已发布的字段
- 将直流图表库中的折线图缩放限制为小时
- 当通过ajax发送到php/sql时,无法存储HTML
- MongoDB + SQL Select equivalent
- 如何在d3力有向图中最初限制节点数
- Ajax / js刷新,限制显示/从php / sql获取的内容
- 滚动加载更多SQL限制
- 如何避免SQL RequestError: "多部分标识符…不能被限制