是否有任何常见的PHP类用于将SQL结果集转换为json

时间:2012-11-16 14:21:40

标签: php sql json

我正在使用D3制作一些图表

为每个查询手动形成一个json似乎有点反直觉

有更好的方法吗?

或者它是为每个图表制作一个json php脚本并尝试使我的数据适合或者我可以获得一个通用的PHP脚本来配置从sql输出的json吗?

2 个答案:

答案 0 :(得分:3)

它有多难?

$sql = "SELECT field1, field2, field3, ....";
$result = mysql_query($sql) or die(mysql_error());
$data = array();
while($row = mysql_fetch_assoc($result)) {
    $data[] = $row;
}
echo json_encode($data);  // <--- was that so hard?

答案 1 :(得分:2)

Verry简单,仅使用函数json_encode结果数组。

header('Content-type: application/json'); //for cooperation with D3

function getJsonChartResults($tablename,$columns = Array())
{
    $fields = count($columns) == 0 ? "*" : implode(",", $columns);
    $dbh = new PDO('mysql:host='.DATABASE_HOST.';dbname='.DATABASE_NAME, DATABASE_USER, DATABASE_PASSWORD);
    $results = $dbh->query("SELECT ".$fields." FROM ".$tablename);
    $dbh = null;
    return json_encode($results);
}

echo getJsonChartResults("Results"); //Get data for all collumns
echo getJsonChartResults("Results",Array("id","key","value")); //Get data for specified collumns