【发布时间】:2015-03-17 04:01:08
【问题描述】:
我想创建一个图片库,将图片存储在数据库中。 假设我在页面上显示 9 张图片,当我向下滚动时,接下来的 9 张图片会显示或附加到当前的 9 张图片。我如何使用 ajax 和 php 来做到这一点。
【问题讨论】:
标签: javascript php html ajax database
我想创建一个图片库,将图片存储在数据库中。 假设我在页面上显示 9 张图片,当我向下滚动时,接下来的 9 张图片会显示或附加到当前的 9 张图片。我如何使用 ajax 和 php 来做到这一点。
【问题讨论】:
标签: javascript php html ajax database
在客户端:
<ul id="images">
<li><img src="img/test1.jpg" id="1" /></li>
<li><img src="img/test2.jpg" id="2"/></li>
<li><img src="img/test3.jpg" id="3" /></li>
<li><img src="img/test4.jpg" id="4"/></li>
<li><img src="img/test5.jpg" id="5"/></li>
</ul>
<script type="text/javascript">
var last_image_id = $('ul#images li:last-child').attr('id');
if($(window).scrollTop() + $(window).height() == $(document).height()) {
$.ajax({
url: 'loadimage.php/last_id='last_image_id,
})
.done(function(data) {
$('ul#images').append(data);
})
.fail(function() {
console.log("error");
})
.always(function() {
console.log("complete");
});
}
</script>
在服务器端:
<?php
// connect to db
$query = 'select form image_table where id > '.$_GET['last_id'].' LIMIT 9';
$result = mysqli_query($connection, $query);
$rows=mysqli_fetch_assoc($result);
foreach ($rows as $row) {
echo '<li><img src="'.$row->image.'" alt=""></li>';
}
?>
【讨论】:
也许你应该看看像this one这样的延迟加载插件
【讨论】: