使用按钮加载更多mysql结果

时间:2013-03-05 22:07:27

标签: php javascript mysql

我正在创建一个图片共享网站,用户可以在该网站上注册并上传他们自己的图片或他们在互联网上找到的图片。文件路径上传到MySQL数据库。然后我使用MySQL查询将所有图像路径拉出来并使用while循环将图像放到页面上。随着更多图像上传,页面加载所需的时间越长。我想在5个图像后添加一个加载更多按钮,当按下时加载另外5个图像。我似乎无法在任何地方找到这方面的教程。

该表称为图像,列名称为路径。

<?php
$sql = mysql_query("SELECT * FROM `images` ORDER BY `id` DESC");
while($row = mysql_fetch_array($sql)){
    $path = $row['path'];
?>
    <img src="<?php echo $path; ?>" alt="" />
<?php
}
?>

这是我用来获取文件路径的。这不是我遇到的问题。问题是,页面上的图像太多,加载速度非常慢。所以这就是为什么我想一次加载5个。如果您认为在用户滚动时加载会更好,请帮助我知道如何执行此操作。

2 个答案:

答案 0 :(得分:1)

你想要的是分页。我开始告诉你谷歌它,但在我自己做了之后,我发现有很多不好的建议,这是不值得的。

首先,您希望使用更现代的方法连接到mysql数据库。 {@ 1}}函数在PHP中已弃用,它们被视为安全风险。我更喜欢PDO,它为许多不同的数据库提供了一个很好的一致性接口。另一个选项是MySQLi,如果您习惯mysql_*函数

,这会更容易一些

从那里开始,只需限制查询,然后让脚本知道返回哪组值。这就是我的做法(注意我没有测试这个,所以可能存在错误!你还需要决定如何处理输出和错误)

mysql_*

为了在滚动时自动执行此操作,您可以使用jQuery检查滚动事件,然后调用后端代码以自动加载更多结果(通过将$ prev和$ next值设置为调用)

答案 1 :(得分:0)

如果您只想使用Select Top 5,并且如果您想在滚动时上传新文件,则可以使用Ajax。希望你能找到方法并分享它。