2013-07-03 50 views
0

我正嘗試在模板中使用AJAX創建新聞塊。所以我寫了一個簡單的代碼,在HTML部分:使用jQuery和AJAX顯示更多數據庫結果

<a href="javascript:ShowPost();">Show Posts</a> 
<div id="result"></div> 

jQuery的部分:

function ShowPost(){ 
    $.post(dir + 'engine/ajax/posts.php', {action:"showpost"}, 
    function(data) { 
     $("#result").html(data); 
}); 
}; 

PHP部分:

if ($_POST['action'] == "showpost") {  
$db->query("SELECT title FROM post LIMIT 0,5 "); 
    while ($row = $db->get_row()) { 
    echo $row['title']."<br>"; 
    }  
} 

的問題是,我怎麼能得到第一次點擊後多個結果?例如點擊顯示帖子鏈接,我可以顯示數據庫中的5條新聞。之後第二點擊查看帖子鏈接,我需要在6到10日消息,在第三點擊獲取結果從11到15,繼續...

我希望你明白我的問題。

回答

1

根據您的實現,你需要跟蹤你有多少項目展示和傳遞的頁號,例如:

jQuery的部分:

var pageNumber = 0; 
function ShowPost() { 
    pageNumber++; 
    $.post(dir+ 'engine/ajax/posts.php', {action:"showpost", pageNum: pageNumber}, 
     function(data) { 
     $("#result").html(data); 
    }); 
}; 

免責聲明:我不是一個PHP開發人員請將下面的代碼視爲僞代碼。

PHP部分:

if ($_POST['action'] == "showpost") {  
var pageSize = 5; 
var pageNumber = $_POST['pageNumber'];  
var from = (pageNumber - 1) * pageSize; 
var to = pageNumber * pageSize; 
$db->query("SELECT title FROM post LIMIT " + from + "," + pageSize); 
while ($row = $db->get_row()) { echo $row['title']."<br>"; }  
} 
+0

謝謝我的朋友 – Alireza

0

以隱藏字段在HTML和更新它的每一個成功的呼叫後值,當下次呼叫下一個記錄時間發送值在後。

<input type="hidden" name="limit" value="5"> 
<a href="javascript:ShowPost();">Show Posts</a> 
<div id="result"></div> 
1

只需實現分頁限制在烏爾查詢

var offset = -5; 
function ShowPost(){ 
offset = offset + 5; 
    $.post(dir + 'engine/ajax/posts.php', {action:"showpost",offset:offset}, 
    function(data) { 
     $("#result").html(data); 
}); 
}; 

PHP part 

if ($_POST['action'] == "showpost") { 

$vOffset = $_POST['offset'];  
$db->query("SELECT title FROM post LIMIT $vOffset,5 "); 
    while ($row = $db->get_row()) { 
    echo $row['title']."<br>"; 
    }  
}