【问题标题】:Get image from Database as you scroll (HTML)滚动时从数据库中获取图像 (HTML)
【发布时间】:2015-03-17 04:01:08
【问题描述】:

我想创建一个图片库,将图片存储在数据库中。 假设我在页面上显示 9 张图片,当我向下滚动时,接下来的 9 张图片会显示或附加到当前的 9 张图片。我如何使用 ajax 和 php 来做到这一点。

【问题讨论】:

    标签: javascript php html ajax database


    【解决方案1】:

    在客户端:

    <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>';
    }
    ?>
    

    【讨论】:

    • 无论 php echo 是什么 jquery '.done(function(data)' 得到什么?
    • @RiverCRPhoenix jquery .done(data) 获取php页面的结果并设置数据参数
    【解决方案2】:

    也许你应该看看像this one这样的延迟加载插件

    【讨论】:

    • 尝试了延迟加载,但没有按我想要的方式工作。
    猜你喜欢
    • 1970-01-01
    • 2014-05-24
    • 2011-08-14
    • 1970-01-01
    • 1970-01-01
    • 2011-12-18
    相关资源
    最近更新 更多