[英]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.