dataTable的默認行爲是好的,只要行數不是907234.我想使用面向Ajax的工作方式,所以每頁得到10條記錄等等。我知道我可以設置AJAX源碼,但只有一次,然後尋呼將是未來。 (如果datatable不知道記錄的數量,它將如何工作),更不用說搜索了。那麼如何開始?如何創建一個完全基於AJAX的jQuery-dataTable?
-1
A
回答
2
DataTable的服務器側的方法是像這樣:
$('#dataTable').dataTable({
"sServerMethod": "GET",
"bProcessing": true,
"bServerSide": true,
"sAjaxSource": "data.php",
"aoColumns": [null, null, null, { "bSortable": false }],
"order": [[ 1, "asc" ]],
"oLanguage": {"sZeroRecords": "No Members found", "sEmptyTable": "No members to display"},
});
即data.php應該像這樣後端:
<?php
$start = $_GET['iDisplayStart'];
$length = $_GET['iDisplayLength'];
$sSearch = $_GET['sSearch'];
$col = $_GET['iSortCol_0'];
$arr = array(1 => 'oe.org_given_id', 2 => 'usr.name');
$sort_by = $arr[$col];
$sort_type = $_REQUEST['sSortDir_0'];
$query = "SELECT usr.id,usr.name,oe.org_given_id FROM users usr JOIN organization_employees oe on usr.id=oe.employee_id WHERE oe.organization_id=".$organization_id." AND (usr.name LIKE '%".$sSearch."%' OR oe.org_given_id LIKE '%".$sSearch."%') ORDER BY ".$sort_by." ".$sort_type." LIMIT ".$start.", ".$length;
$db=new DB();
$resultSet=$db->SelectRead($query);
while($row = mysqli_fetch_assoc($resultSet))
{
$data[] = $row;
}
$counterQuery = "SELECT COUNT(usr.id) as total FROM users usr JOIN organization_employees oe on usr.id=oe.employee_id WHERE oe.organization_id=".$organization_id.";";
$countSet = $db->SelectRead($counterQuery);
$iTotal=0;
while($counterRow = mysqli_fetch_assoc($countSet))
{
$iTotal = $counterRow['total'];
}
$rec = array(
'iTotalRecords' => $iTotal,
'iTotalDisplayRecords' => $iTotal,
'aaData' => array()
);
$k=0;
if (isset($data) && is_array($data))
{
foreach ($data as $item)
{
$rec['aaData'][$k] = array(
0 => $k,
1 => $item['org_given_id'],
2 => $item['name'],
3 => "Delete"
);
$k++;
}
}
header("Content-type:application/json");
echo json_encode($rec);
?>
的參數,如: iDisplayStart
和iDisplayLength
等是默認由Datatables給出。
一些在線工作的例子是:
https://coderexample.com/datatable-demo-server-side-in-phpmysql-and-ajax/ http://phpflow.com/php/datatables-example-server-side-processing-with-php/ http://phpflow.com/demo/datatable/
的我的代碼的github倉庫下面是offcourse一些附加功能:
相關問題
- 1. 使用ASP.NET MVC創建一個完全基於ajax的網站
- 2. 完全基於ajax的站點的htaccess
- 3. 創建一個完全動態的GUI
- 4. 創建一個完全定製NSAlert
- 5. 如何創建一個完全設備兼容的網站
- 6. 如何創建一個完全空的跨度(不含空格)?
- 7. 如何創建一個可以完全訪問MongoDB的用戶?
- 8. 如何創建一個完全不可見的按鈕?
- 9. 如何用MFC創建一個完全透明的窗口?
- 10. 如何創建一個完全適合鍵盤之上的UITextView?
- 11. 如何創建一個完全透明的導航欄?
- 12. 如何創建一個基於30個值的數組的URL
- 13. 想要在wordpress中創建一個完全類似於http://www.bienvillecapital.com/
- 14. 創建一個基於dplyr的函數
- 15. 創建一個基於PHP的API?
- 16. 如何創建基於我有一個LinkedHashMap的HashSet的
- 17. Zurb基金會4 - 如何創建一個全高列
- 18. 如何在IPB中創建基於AJAX的自定義字段
- 19. 如何創建基於ajax的無限產品加載程序
- 20. 尋找一個基於Node.js的全堆棧來創建一個現代博客
- 21. 如何基於一些派生類型創建一個元組?
- 22. 完全ajax應用程序的基於內容的廣告
- 23. 如何基於這個SQL創建一個LINQ查詢?
- 24. 如何創建一個基於兩個變量共同
- 25. 如何基於一個Freemarker模板創建多個文件
- 26. 如何安全地創建基於會話編號的文件
- 27. 如何創建一個基於editorformodel的新方法html helper
- 28. python如何創建一個基於條件的數組
- 29. 如何創建基於另一個集合的迭代器
- 30. 如何在mysql中創建一個基於列的auto_incrementer
我會盡力給你一個在線工作鏈接。 –