在Web開發(fā)中,表格的展示是非常普遍的需求。其中,datatables是一個十分流行且強(qiáng)大的表格插件。它可以使用ajax/json方式獲取數(shù)據(jù),實現(xiàn)分頁、排序、搜索等功能。
在使用datatables時,通常會使用ajax方式從后臺獲取JSON格式的數(shù)據(jù)。而在分頁的時候,我們需要在后臺進(jìn)行數(shù)據(jù)的分頁處理。下面是一個基于PHP后臺的datatables JSON分頁實現(xiàn)的示例代碼:
$offset = $_REQUEST['start']; $limit = $_REQUEST['length']; $search = $_REQUEST['search']['value']; // 構(gòu)造查詢SQL語句 $sql = "SELECT * FROM my_table"; if ($search) { $sql .= " WHERE title LIKE '%$search%'"; } $sql .= " LIMIT $offset, $limit"; $results = mysql_query($sql); $rows = array(); while ($row = mysql_fetch_assoc($results)) { $rows[] = $row; } $output = array( "draw" =>intval($_REQUEST['draw']), "recordsTotal" =>mysql_num_rows($results), "recordsFiltered" =>get_total_records(), // 獲取總記錄數(shù) "data" =>$rows ); echo json_encode($output);
上述代碼中,根據(jù)datatables請求的參數(shù),我們從數(shù)據(jù)庫中獲取相應(yīng)的數(shù)據(jù)并進(jìn)行分頁。注意到其中的draw參數(shù),它是datatables內(nèi)部用于驗證的標(biāo)識符,需要一一對應(yīng)。
需要注意的是,出于性能和安全的考慮,我們應(yīng)該對SQL注入做出必要的防護(hù)措施。
至此,我們已經(jīng)成功地實現(xiàn)了datatables JSON后臺分頁功能。使用起來僅需一行代碼即可:
$('#example').DataTable({ "ajax": "backend.php" });
上一篇vue cdn的使用
下一篇vue-router帶