簡體   English   中英

jQuery Ajax無限滾動閱讀PHP

[英]jQuery Ajax infinite scroll reading PHP

我想用AJAX實現無限滾動。

這是我當前的jQuery代碼:

$(document).on("pagebeforeshow", "#page-main", function(){
    get_simple_info();
});
function get_simple_info(){
    var info = "";
    $.getJSON('classes/load.php', function(data){
        $.each(data, function(index, item) 
        {
            info += "<li id='" + item.id + "'><p>" + item.name + "</p></li>";
        });
        $("#listview_A").append(info); 
        $("#listview_A").trigger("change");
        $("#listview_A").listview("refresh");
    });
}

而且功能也很簡單。

$query = $db->prepare("SELECT * FROM people ORDER BY ID DESC LIMIT 15");
$query->execute();
$query->bind_result($id, $name);
$query->store_result();
$rows = array();
while($query->fetch()){
    $rows[] = array("id" => $id, "name" => $name);
}
$query->close();
$db->close();
return json_encode($rows);

我正在嘗試通過本教程進行自我指導: http : //www.w3bees.com/2013/09/jquery-infinite-scroll-with-php-mysql.html ,但是您可以看到它沒有ajax.request ,所有操作均在PHP中完成。

我當前的listview_A代碼如下:

<ul data-role="listview" id="listview_A" data-inset="true" data-mini="true">
    <li style="height: -2px; background-color: #666666"></li>
</ul>

使用jQuery時,我確實將更多項添加到<ul> tag不是在那里。

這樣說,我真的不知道從哪里開始使該教程適應我的代碼,你們能給我一些啟發嗎?

謝謝。

編輯 :已解決。 請參閱下面的答案。

在將任何數據發送到服務器之前,請檢查頁面是否已加載。 例如

if(alreadyloading == false){
    alreadyloading = true;
    SEND THE DATA TO SERVER
    ACCEPT JSON RESPONSE
    APPEND TO YOUR HTML
    INCREMENT YOUR PAGE NUMBER
   make alreadyloading = false;
}

現在,在將數據發送到服務器頁面的同時,添加此page-number ,這樣查詢將類似於

首先計算LIMIT值假設您願意滾動顯示五個結果, $page_size = 5 $offset = ($page_num - 1)*$page_size; 因此,對於page_num = 1 ,您的偏移量將為0因此,

SELECT * FROM table_name LIMIT 0,5

對於page_num = 2$offset = 5 SELECT * FROM table_name LIMIT 5,10依此類推

暫無
暫無

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

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