Я хочу визуализировать данные как образец @ https://gist.github.com/mbostock/1044242.
Тем не менее, я хотел бы сделать это из значений, взятых из базы данных SQL. В настоящее время в БД хранятся образцы данных, связанных с Олимпиадой, полученные из http://msftdbprodsamples.codeplex.com/releases/view/97636. В нем 4 таблицы. Чтобы проиллюстрировать пример, строки @ таблицы «медалист» связаны с таблицами «спорт» и «дисциплина».
Я знаю, что должен написать PHP-скрипт для форматирования данных в JSON, который будет прочитан d3.js через Eclipse, который не дает ничего похожего на readme-flare-import.json по приведенной выше ссылке. Пожалуйста, посмотрите мою попытку следующего (я знаю, что это далеко не приемлемо)
Попытка:
<?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, но иерархическое объединение ребер является самым близким, которое я могу найти рядом с диаграммой радиальной сходимости.
Задача ещё не решена.
Других решений пока нет …