2013-12-16 42 views
0

我想用AJAX實現無限滾動。jQuery Ajax無限滾動閱讀PHP

這是我目前的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進一步比一個(默認),其是存在的。

說了這樣的話,我真的不知道從哪裏開始將該教程適用於我的代碼,你們可以給我一些燈光嗎?

謝謝。

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

回答

0

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

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與它這樣的查詢會像

首先計算出極限值 假設你是願意在滾動顯示五個結果, $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 等等

+0

喜@Nitish,首先感謝的話。但請檢查我以前的帖子。 – user3065191