我一直在嘗試理清DataTables的child rows,與我的數據一起使用的最佳方式。這裏有幾個帖子,但沒有一個專門提到我的問題。datatables填充PHP數據的子表
我的情況:
此前想添加可展開的行,我所有的數據被帶進通過PHP的頁面,直接連接到我的MySQL數據庫,並填充被包裹在數據表$(document).ready
表功能。加載DataTable很簡單,並且工作正常。 但是,我沒有看到任何方式使用PHP數據添加可擴展的子行,因爲數據必須是(據我所知)在初始生成表後添加,如此處所示在他們的演示文件中:
$('#example tbody').on('click', 'td.details-control', function() {
var tr = $(this).closest('tr');
var row = table.row(tr);
console.log(row);
if (row.child.isShown()) {
// This row is already open - close it
row.child.hide();
tr.removeClass('shown');
}
else {
// Open this row
row.child(format(row.data())).show();
tr.addClass('shown');
}
});
function format (d) {
// `d` is the original data object for the row
return '<table cellpadding="5" cellspacing="0" border="0" style="padding-left:50px;">'+
'<tr>'+
'<td>Full name:</td>'+
'<td>hi</td>'+
'</tr>'+
'<tr>'+
'<td>Extension number:</td>'+
'<td>12345</td>'+
'</tr>'+
'<tr>'+
'<td>Extra info:</td>'+
'<td>And any further details here (images etc)...</td>'+
'</tr>'+
'</table>';
}
甚至這個代碼工作,在技術上。當我點擊一個單元格時,它會展開,顯示下面這個新創建的表格 - 但我不知道用什麼方法來填充我想要的php數據(而不是這裏的通用數據...)作爲PHP代碼由之前的JavaScript代碼運行的服務器產生,等等等等
我已經試過什麼:
我的數據表服務器端處理讀了here,並修改他們在網站上有腳本,但是當我第一次運行php文件時,我缺少ssp.class.php
,所以我下載了最新版本的DataTables,然後用它來調用它:
require('../../plugins/jqueryDataTables/DataTables-1.10.7/examples/server_side/scripts/ssp.class.php');
但是,現在,我得到這個錯誤:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 57 bytes) in C:\xampp\htdocs\plugins\jqueryDataTables\scripts\ssp.class.php on line 433
行433讀取:return $stmt->fetchAll();
我不知道做什麼,或者爲什麼我不能拿到劇本才能正常工作,但在DataTables網站上經過數小時和數小時之後,我感到沮喪。對我的情況的任何幫助都會很棒,或者如果我首先想到這一切都是錯誤的,那聽起來也很好!
您是否試圖在php.ini中增加內存限制? – Moppo
它設置爲128MB - 絕對比我應該需要這個查詢更多。 –
你有沒有找到解決辦法? – Arya