jQuery 数据表 PHP json_encode
jQuery Datatable with PHP json_encode
我试图将数据库 table 数据解析为动态变化的 jquery 数据 table。在 php 的 json_encode
函数
之后我得到了以下输出
$sql = "SELECT * FROM login";
$result = mysql_query($sql);
$a= array();
while ($row = mysql_fetch_assoc($result)) {
$a[][] = $row;
}
echo (json_encode($a));
Json输出
[[{"id":"1","username":"test11","password":"y$NiKnEN\/ww8yGVhv3JNjSuO5FfOFSthadS2B3GcbA3KGBktAOSu6lK","role":"Administrator "}],[{"id":"2","username":"test","password":"test","role":"test"}]]
然后我按照他们说的调用了jquery数据tableajax函数。这是我的编码
$('#example').dataTable( {
"ajax": 'ab.php'
} );
但最终只在 jquery 数据 table tbody
部分显示 "Loading..." 文本。这是为什么?
原因
显然您使用的是 DataTables 1.10 版。默认情况下,此版本要求数据采用特定格式,请参阅 DataTables documentation 了解更多信息。
{
"data": [
// row 1 data source,
// row 2 data source,
// etc
]
}
解决方案
将 PHP 中的 $a[][] = $row;
更改为 $a['data'][] = $row
以生成正确格式的数据。
如果您使用数据table 1.10 api,您需要创建一个 json 响应,例如:
$json_data = array(
"draw" => intval( $_REQUEST['draw'] ),
"recordsTotal" => intval( $totaldata ),
"recordsFiltered" => intval( $totalfiltered ),
"data" => $data
);
echo json_encode($json_data);
平局:我们发送与 datatable 在
draw/request.
recordsTotal:table.
中的记录总数
recordsFiltered:搜索后过滤的记录总数
你的 table。如果您不执行任何搜索,则 recordsFiltered
将与 recordsTotal.
相同
data:您获取的记录数据。您必须按照
开始、长度、搜索值、列名和排序顺序
参数。你可以从这里
下载虚拟数据库table
请参阅此link了解详情
我试图将数据库 table 数据解析为动态变化的 jquery 数据 table。在 php 的 json_encode
函数
$sql = "SELECT * FROM login";
$result = mysql_query($sql);
$a= array();
while ($row = mysql_fetch_assoc($result)) {
$a[][] = $row;
}
echo (json_encode($a));
Json输出
[[{"id":"1","username":"test11","password":"y$NiKnEN\/ww8yGVhv3JNjSuO5FfOFSthadS2B3GcbA3KGBktAOSu6lK","role":"Administrator "}],[{"id":"2","username":"test","password":"test","role":"test"}]]
然后我按照他们说的调用了jquery数据tableajax函数。这是我的编码
$('#example').dataTable( {
"ajax": 'ab.php'
} );
但最终只在 jquery 数据 table tbody
部分显示 "Loading..." 文本。这是为什么?
原因
显然您使用的是 DataTables 1.10 版。默认情况下,此版本要求数据采用特定格式,请参阅 DataTables documentation 了解更多信息。
{
"data": [
// row 1 data source,
// row 2 data source,
// etc
]
}
解决方案
将 PHP 中的 $a[][] = $row;
更改为 $a['data'][] = $row
以生成正确格式的数据。
如果您使用数据table 1.10 api,您需要创建一个 json 响应,例如:
$json_data = array(
"draw" => intval( $_REQUEST['draw'] ),
"recordsTotal" => intval( $totaldata ),
"recordsFiltered" => intval( $totalfiltered ),
"data" => $data
);
echo json_encode($json_data);
平局:我们发送与 datatable 在 draw/request.
recordsTotal:table.
中的记录总数
recordsFiltered:搜索后过滤的记录总数 你的 table。如果您不执行任何搜索,则 recordsFiltered 将与 recordsTotal.
相同
data:您获取的记录数据。您必须按照 开始、长度、搜索值、列名和排序顺序 参数。你可以从这里
下载虚拟数据库table
请参阅此link了解详情