2011-06-17 71 views
5

我有一張如下表格;使用AJAX填充來自PHP數組的表格內容

<table> 
<tr> 
<td id="prev">prev</td> 
<td class="content"></td> 
<td class="content"></td> 
<td class="content"></td> 
<td class="content"></td> 
<td class="content"></td> 
<td id="next">next</td> 
</tr> 
</table> 

and a php file,ajax.php for AJAX calls as;

<?php 
$array = array(1,2,3,4,5,6,7,8,9,10); 
$page = $_POST["page"]; 
$quantity = 5; 
$offset = ($page-1)*$quantity; 
$selectedFiles = array_slice($array, $offset, $quantity); 
echo $selectedFiles; 
?> 

PHP函數是假設與元件的有限數量相對於在分頁返回的數組$_POST["page"]等。該腳本將返回前5個元素爲$page = 1,第5個元素爲$page = 2等..等等。頁面加載時,<td>的編號爲content的可能分別顯示1,2,3,4和5。當用戶單擊next時,如果用戶單擊prev,它可能會顯示下一個結果並可能返回到先前的結果。我怎樣才能做到這一點使用Javascript與jQuery的幫助?

,如果有一定的影響,給出它會更有益的,當用戶點擊和數據的變化,如滑動(過渡),所以它看起來像滑動些吧..

在此先感謝..

+0

'$ selectedFiles'是一個數組,使用'echo json_encode($ selectedFiles);'。確保jQuery中的AJAX調用當然期待JSON響應。 – Orbling

回答

5

爲自己節省一點時間。使用預先完成的網格解決方案,例如DataTables,可以爲您完成所有這些工作。它允許您排序,篩選,分頁,排序和限制可以通過dom,JSON或真正的服務器端AJAX提供的表結果。

由於數據表是這樣一個成熟的項目,它已經克服了所有的跨瀏覽器的怪癖隨機問題等

它還包括爲你做的查詢pre-done PHP example。只需改變以匹配你的餐桌,瞧!

0

這應該幫助您開始:

<table id="pageLinks"> 
<tr> 
<td id="prev">prev</td> 
<td class="content">1</td> 
<td class="content">2</td> 
... 
<td id="next">next</td> 
</tr> 
</table> 

var currPage = 1; 
$("#pageLinks tr td").click(function() { 
    if($(this).hasClass("content")) { 
     var currPage = $(this).text(); 
    } else { 
     if(this.id == "next") { 
      currPage++; 
     } else { 
      if(currPage > 1) 
       currPage--; 
     } 
    } 
    $.post("script.php", {currPage: currPage}, function(html) { 
     $("#someDiv").hide().html(html).slideUp(); 
    }); 
}); 

注:

  • ID應DUP在一份文件中進行了授權,所以我已經將這些單元格放在了「內容」類中。
  • 我不完全理解你的問題,所以我認爲表是用於分頁鏈接,而你正在其他地方加載內容。
+0

Hi @ karim79,如果ajax處理的php文件名稱爲'ajax.php',我該怎麼做?檢查我的修改後的問題..感謝您的更正.. –