サンプル @ https://gist.github.com/mbostock/1044242のようなデータを視覚化したいと思います。
ただし、SQL DB から取得した値からそうしたいと考えています。DB は現在、 http://msftdbprodsamples.codeplex.com/releases/view/97636から派生したオリンピックに関連するサンプル データを保持しています。その中に4つのテーブルがあります。例を説明すると、テーブル「メダリスト」の行は、テーブル「スポーツ」および「規律」に関連付けられています。
上記のリンクの「readme-flare-imports.json」に近いものは何も生成しないため、Eclipse 経由で d3.js によって読み取られるように、JSON でデータをフォーマットする PHP スクリプトを作成する必要があることはわかっています。次の私の試みを見てください(私はそれが受け入れられるとはほど遠いことを知っています)
試み:
<?php
$db_host = "localhost";
$db_user = "root";
$password = "password";
$database = "olympics";
$conn = @mysqli_connect ($db_host, $db_user, $password, $database);
if (! $conn) {
trigger_error('Could not connect to MySQL: ' . mysqli_connect_error());
}
$data = array();
$myquery = "SELECT * from medalist";
$result = mysqli_query ($conn, $myquery);
while ($row = mysqli_fetch_array ($result)) { //fetch row instead of entire objs
$medalistID = $row ['medalistID'];
$edition = $row ['edition'];
$athlete = $row ['athlete'];
$noc = $row ['noc'];
$gender = $row ['gender'];
$event = $row ['event'];
$medal = $row ['medal'];
$season = $row ['season'];
$medalValue = $row ['medalValue'];
$sportID = $row ['sportID'];
$disciplineID = $row ['disciplineID'];
echo '{"medalistID":'.json_encode($medalistID).'}';
echo '{"edition":'.json_encode($edition).'}';
echo '{"athlete":'.json_encode($athlete).'}';
echo '{"noc":'.json_encode($noc).'}';
echo '{"gender":'.json_encode($gender).'}';
echo '{"event":'.json_encode($event).'}';
echo '{"medal":'.json_encode($medal).'}';
echo '{"season":'.json_encode($season).'}';
echo '{"medalValue":'.json_encode($medalValue).'}';
echo '{"sportID":'.json_encode($sportID).'}';
echo '{"disciplineID":'.json_encode($disciplineID).'},<br>';
$data[] = array ('medalistID' => $medalistID,
'edition' => $edition,
'athlete' => $athlete,
'noc' => $noc,
'gender' => $gender,
'event' => $event,
'medal' => $medal,
'season' => $season,
'medalValue' => $medalValue,
'sportID' => $sportID,
'disciplineID' => $disciplineID);
}
$fp = fopen ('sample_Olympics.json', 'w');
fwrite ($fp, json_encode ($data));
fclose ($fp);
mysqli_close ($conn);
?>
私の質問は次のとおりです。-上記のリンクと私の試みを参照して、コードを変更して「sample_Olympics.json」を正しく表示するにはどうすればよいですか? DB に関係する階層があるかどうかはわかりませんが、放射状収束図の次に見つけられるのは階層エッジ バンドリングです。