簡體   English   中英

PHP / JS無限滾動,一次滾動即可從MySQL加載所有數據

[英]PHP/JS Unlimited scroll loading all data from MySQL in one scroll

我正在使用PHP和JavaScript制作網站的無限滾動。 我幾乎做到了,但是在我的代碼中有一個問題,滾動到頁面底部后,每次滾動到底部時,我的腳本應該加載15篇文章。完成后,它會停止加載更多的帖子,但會加載所有文章,然后在加載所有帖子時停止腳本。

我的JavaScript代碼:

<script>
// Unlimited Scroll
$(document).ready(function() {
    $('.post-load').hide();
    var load = 0;
    var nbr = "<?php echo mysql_num_rows($sql); ?>";
    $(window).scroll(function() {
        if ($(window).scrollTop() == $(document).height() - $(window).height()) {
            $('.post-load').show();
            load++;
            if (load * 15 > nbr) {
                $('.post-load').hide();
            } else {
                $.post("extensions/ajax.php", {
                    load: load
                }, function(data) {
                    $('.lb').append(data);
                    $('.post-load').hide();
                });
            }
        }
    });
});

extensions / ajax.php用於通過PHP加載帖子的文件:

<?php 

include 'connect.php';

$load = htmlentities(strip_tags($_POST['load'])) * 2;
$sql = mysql_query("SELECT * FROM articles ORDER BY postNum DESC");
$countBlop = mysql_num_rows($sql);
$queryL = mysql_query("SELECT * FROM articles ORDER BY postNum DESC LIMIT 15,".$countBlop."");

while ($posts = mysql_fetch_assoc($queryL)) {

?>

<div class="article">Echo the posts...</div>

<?php } ?>

在我看來,您的LIMIT語法倒退了

LIMIT 15,".$countBlop.

應該

LIMIT ".$lastIndex.",15

現在,它將從記錄15開始,然后繼續加載,直到達到總數(由$ countBlop定義)

您還需要讓jQuery將最后一個索引傳遞給ajax調用的方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM