2016-08-03 85 views
0

我从json数据创建数据表。表格数据正在变好。现在我想用这些json数据传递表头。以json格式动态传递表头引导数据表

我data.php

<?php 
include('config/db_i.php'); 
$sql_sel = mysqli_query($con,"SELECT * FROM `tbl`"); 
$array = array(); 
$array['data'] = array(); 

while($res_sel = mysqli_fetch_row($sql_sel)){ 
    $array['data'][] = $res_sel; 
} 
echo json_encode($array); 
?> 

现在输出来像

{"data":[["1","John","USA"],["2","BOB","INDIA"],["3","James","UK"],["4","Dani","CHINA"]]} 

我想转移列中的值太...即ID,姓名,国家

+0

完全不相干的,但如果你的'data.php'只包含PHP代码(即'之间没有HTML块',你应该忽略''>'部分,以避免在文件末尾添加空白行(这可能会在某些情况下导致问题,但不是在这一个,但...)对不起,噪音:) – GergelyPolonkai

回答

0

您需要从mysqli_fetch_assoc()取代数据库中的关联数组而不是mysqli_fetch_row()。然后,您将收到一个JSON对象,该属性是列名称,而不是数组。此外,我建议使用JSON_NUMERIC_CHECK option,以确保数字通过这样。

<?php 
include("config/db_i.php"); 
$array = array("data"=>array()); 
$sql_sel = $con->query("SELECT * FROM tbl"); 
if ($sql_sel) {  
    while($res_sel = $sql_sel->fetch_assoc()){ 
     $array['data'][] = $res_sel; 
    } 
} 

header("Content-Type:application/json"); 
echo json_encode($array, JSON_NUMERIC_CHECK); 

这将导致这样的事情:

{"data":[{"id":1,"name":"John","country":"USA"},{"id":2,"name":"BOB","country":"INDIA"},{"id":3,"name":"James","country":"UK"},{"id":4,"name":"Dani","country":"CHINA"}]}