从Ajax格式化jQuery Datatable的PHP/Mysql数据
需要帮助来建立这样一个表吗 我有一个mysql中有将近50万行的表。我想通过ajax在jQuery数据表中加载近10k行。我怎样才能这样格式化从Ajax格式化jQuery Datatable的PHP/Mysql数据,php,mysql,json,ajax,Php,Mysql,Json,Ajax,需要帮助来建立这样一个表吗 我有一个mysql中有将近50万行的表。我想通过ajax在jQuery数据表中加载近10k行。我怎样才能这样格式化 { "data": [ [ "Tiger Nixon", "System Architect", "Edinburgh", "5421", "2011/04/25", "$320,800" ], ... [ "Garrett Winters",
{
"data": [
[
"Tiger Nixon",
"System Architect",
"Edinburgh",
"5421",
"2011/04/25",
"$320,800"
],
...
[
"Garrett Winters",
"Accountant",
"Tokyo",
"8422",
"2011/07/25",
"$170,750"
]
]
}
由此
foreach ($query as $result){
... $result['msgid'], $result['msgdate']...
}
我现在尝试的是
$a = '
{
"data":
[';
foreach($q as $r){
$a.= '[
"'.$r['msgid'].'",
"'.$r['msgdate'].'"
],';
}
$a = rtrim($a,',');
$a.=']
}';
echo $a;
您可以使用
json\u encode
函数首先我会更改:
$a = '
{
"data":
[';
foreach($q as $r){
$a.= '[
"'.$r['msgid'].'",
"'.$r['msgdate'].'"
],';
}
$a = rtrim($a,',');
$a.=']
}';
echo $a;
致:
您还可以更改php.ini文件中的max\u execution\u time
。
也可以这样考虑:
$a = array();
$result = mysqli_query($con,$sql);
while($row = mysqli_fetch_assoc($result)) {
array_push($a, $row );
}
向我们展示服务器端代码。“你确定加载10k行是个好主意吗?”JeroenHeier是的,我需要展示所有行。直接将数据加载到
数据表
,有时会导致php最大超时
错误。因此,尝试从ajaxThis加载数据返回[{“msgid”:“366C7869366C31333533838”,“msgdate”:“2016-12-24”}]
首先,您必须创建一个映射您需要的数组,然后对其进行编码…您可以执行以下操作:json_编码(['data'=>数组值($q)],或者您可以使用对象作为数据源:
$a = array();
$result = mysqli_query($con,$sql);
while($row = mysqli_fetch_assoc($result)) {
array_push($a, $row );
}