我想呈現一個DataTable,它會自動插入和ID到每一行。Datatables服務器端自動行ID
根據http://datatables.net/release-datatables/examples/server_side/ids.html和我理解好,如果我傳遞一個DT_RowId「列」與每一行,它應該自動執行。
我使用的樣本PHP他們在這裏提供:http://datatables.net/release-datatables/examples/data_sources/server_side.html
我做了一個MySQL視圖有一個動態表,打開表索引到一個名爲DT_RowId列,並添加到$ aColumns變量,因此它輸出在JSON中。
該值在JSON中打印,但沒有任何反應。我99%肯定它是因爲它們提供的PHP代碼不會回顯柱
在本例中的名稱JSON應該是:
"aaData": [
{
"0": "Gecko",
"1": "Firefox 1.0",
"2": "Win 98+/OSX.2+",
"3": "1.7",
"4": "A",
"DT_RowId": "row_7",
"DT_RowClass": "gradeA"
}, { ... }
但PHP輸出無鑰匙
"aaData": [
{
"Gecko",
"Firefox 1.0",
"Win 98+/OSX.2+",
"1.7",
"A",
"row_7",
"gradeA"
}, {...}
看到我認爲「客戶端JavaScript應該如何知道行中的最後一列是DT_RowId?」。所以我編輯了PHP輸出JSON與關鍵數據作爲自己的榜樣,我得到:
{
"sEcho": 1,
"iTotalRecords": "4",
"iTotalDisplayRecords": "4",
"aaData": [
{
"Nombre": "Some Name",
"username": "some username",
"Email": "some email",
"lastModified": "0000-00-00 00:00:00",
"lastLogin": "2012-02-23 12:04:55",
"rolname": "Some string",
"DT_RowId": "2"
}, {...},{...},{...} ] }
,但我得到一個警告說「數據表警告:請求的未知參數‘0’構成的數據源行0「
我的JSON格式是像他們那樣,我使用
"bProcessing": true,
"bServerSide": true,
"sAjaxSource": "scripts/id.php"
,所以我不知道爲什麼它不是一個有效的JSON的數據表來呈現。我可能會錯過一些愚蠢的東西,但我被困在這裏。
感謝所有幫助
你確定嗎?我不是做任何括號或大括號,它是由json_encode(自動完成)和[{} {}]結構它是相同的,因爲它們的文檔 – Juan 2012-02-29 16:54:53
在{}應該對象符號{「之間提供JSON示例富 「:」 酒吧「}。如果你還沒有使用jsonlint.com,它是終極的JSON驗證 – charlietfl 2012-02-29 17:00:26
實際PHP輸出一行,使用jsonlint.com這裏粘貼之前,美化它,如果你的意思是{...}這就是我這驗證 – Juan 2012-02-29 17:28:42