为了账号安全,请及时绑定邮箱和手机立即绑定

加载所有数据后,删除“加载更多”按钮

加载所有数据后,删除“加载更多”按钮

PHP
宝慕林4294392 2021-05-02 16:18:14
我正在尝试使用按钮从PHP加载数据库中的更多数据。到现在为止,我可以计算结果和显示的结果。因此,当$ count == $ countAll时,通常会显示所有结果。有人可以解释为什么这行不通吗?// Count all results$allResults = $conn->prepare("SELECT*FROM tl_picture WHERE text LIKE '%$innerhtml%' ORDER BY id DESC");$allResults->execute();$countAll =$allResults->rowCount();echo "Found results: ".$countAll."<br>";//max 20 results showing$statement = $conn->prepare("SELECT*FROM tl_picture WHERE text LIKE '%$innerhtml%' ORDER BY id DESC  limit 20");$statement->execute();$collection = $statement->fetchAll();$count =$statement->rowCount();echo "viewable results: ". $count;<script><?php if($count==$countAll): ?>        document.GetElementById('loadButton').style.display='none';    } else {        document.GetElementById('loadButton').style.display='block';    }    <?php endif; ?></script>
查看完整描述

2 回答

?
慕姐4208626

TA贡献1852条经验 获得超7个赞

您通常要尝试通过ajax调用来实现。因此,每次异步加载后,都必须使用javascript检查“加载更多”按钮的可见性。在将HTML文档发送到浏览器之前,PHP在服务器端运行一次,在这种情况下完全没有帮助。

另外,您对所有行执行sql查询,然后再次执行此限制。仅获取所有记录的数量就不能运行两次相同的查询,效率很低。

逻辑应该是加载20行,并且每行应具有一个标识符。使用最后加载的行的标识符,ajax请求接下来的20行,等等。如果来自ajax的响应数据为空,则隐藏“加载更多”按钮(或禁用它,并将文本设置为“不再记录”)。



查看完整回答
反对 回复 2021-05-14
  • 2 回答
  • 0 关注
  • 126 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号