我想呈现一个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