Javascript 如何创建完全基于AJAX的jQuery数据表?
只要行数不是907234,dataTable的默认行为是好的。我想使用面向Ajax的工作,所以每页10条记录,等等。我知道我可以设置Ajax源代码,但只能设置一次,然后分页将是未来的趋势。(如果datatable不知道记录的数量,它将如何工作?)。那么如何启动呢?Datatable的服务器端方法如下:Javascript 如何创建完全基于AJAX的jQuery数据表?,javascript,jquery,ajax,datatable,Javascript,Jquery,Ajax,Datatable,只要行数不是907234,dataTable的默认行为是好的。我想使用面向Ajax的工作,所以每页10条记录,等等。我知道我可以设置Ajax源代码,但只能设置一次,然后分页将是未来的趋势。(如果datatable不知道记录的数量,它将如何工作?)。那么如何启动呢?Datatable的服务器端方法如下: $('#dataTable').dataTable({ "sServerMethod": "GET", "bProcessing": true, "bServerSide": true
$('#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
等默认由数据表提供
一些在线工作示例包括:
下面是我的代码的github存储库,当然还有一些附加功能:
我将尝试在线为您提供一个工作链接。