Ale*_*ber 1 php json datatables
我对json_encode没有经验,并且我试图返回一个数组的arrray,应该被称为aaData - 对于带有服务器端处理的DataTables.
输出应该是:
{
"sEcho": 3,
"iTotalRecords": 57,
"iTotalDisplayRecords": 57,
"aaData": [
[
"Gecko",
"Firefox 1.0",
"Win 98+ / OSX.2+",
"1.7",
"A"
],
[
"Gecko",
"Firefox 1.5",
"Win 98+ / OSX.2+",
"1.8",
"A"
],
...
]
}
Run Code Online (Sandbox Code Playgroud)
但我的PostgreSQL 8.4驱动的PHP脚本的实际输出
if (isset($_REQUEST['json'])) {
$aaData = array();
while ($row = $sth->fetch(PDO::FETCH_NUM)) {
array_push($aaData, $row);
}
print json_encode($aaData);
}
Run Code Online (Sandbox Code Playgroud)
实际上是缺少括号外(对象像?)和aaData名称:
[
[ .... ],
[ .... ],
[ .... ]
]
Run Code Online (Sandbox Code Playgroud)
你会怎么做到最好?
sal*_*the 11
另一个选择是使用问题中的代码但更改一行:
print json_encode(array('aaData' => $aaData));
Run Code Online (Sandbox Code Playgroud)
如果你想让它aaData作为名称,那么你需要给你的数组一个关联索引,如下所示:
if (isset($_REQUEST['json'])) {
$arr['aaData'] = array();
while ($row = $sth->fetch(PDO::FETCH_NUM)) {
array_push($arr['aaData'], $row);
}
print json_encode($arr);
}
Run Code Online (Sandbox Code Playgroud)