2

D3を使用していくつかのチャートを作成しています

クエリごとに json を手動で作成するのは少し直感に反するようです

これを行うより良い方法はありますか?

または、チャートごとに json php スクリプトを作成し、データが収まるようにするか、SQL から出力された json を構成するための一般的な php スクリプトを取得できますか?

4

2 に答える 2

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?
于 2012-11-16T14:26:51.247 に答える
2

非常に単純で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
于 2012-11-16T14:26:30.920 に答える