0

因此,我需要通过 php 查询我的数据库,然后将查询转换为 .json 文件以使用Google Charts

如何通过 PHP 将 mysql 查询转换为 .json 文件,如下所示:

{
  cols: [{id: 'A', label: 'NEW A', type: 'string'},
         {id: 'B', label: 'B-label', type: 'number'},
         {id: 'C', label: 'C-label', type: 'date'}
        ],
  rows: [{c:[{v: 'a'}, {v: 1.0, f: 'One'}, {v: new Date(2008, 1, 28, 0, 31, 26), f: '2/28/08 12:31 AM'}]},
         {c:[{v: 'b'}, {v: 2.0, f: 'Two'}, {v: new Date(2008, 2, 30, 0, 31, 26), f: '3/30/08 12:31 AM'}]},
         {c:[{v: 'c'}, {v: 3.0, f: 'Three'}, {v: new Date(2008, 3, 30, 0, 31, 26), f: '4/30/08 12:31 AM'}]}
        ],
  p: {foo: 'hello', bar: 'world!'}
}

PS:本例引用自google

4

2 回答 2

11

你可以使用json_encode函数。

  1. 从 db 中获取数据并将其分配给数组
  2. 然后使用json_encode($result_array). 这将产生 json 结果。点击这里
  3. 使用file_put_contents函数将 json 结果保存到您的 .json 文件中

以下是示例代码,

$result = mysql_query(your sql here);    
$data = array();
while ($row = mysql_fetch_assoc($result)) {
    // Generate the output in desired format
    $data = array(
        'cols' => ....
        'rows' => ....
        'p' => ...
    );
}

$json_data = json_encode($data);
file_put_contents('your_json_file.json', $json_data);
于 2013-06-26T10:26:32.867 回答
1

使用mysql_fetch_object将 mysql 表转换为 php 对象,然后使用json_encode转换为 json

mysql_fetch_object 获取行。所以使用循环来构造一个表对象。

代码:

$result = mysql_query("select * from mytable");
$table=array();
while($row=$mysql_fetch_object($result)){
  $table.push($row);
  unset($row);
}
echo json_encode($table);
于 2013-06-26T10:30:48.307 回答