Ниже приведен скрипт php, который вы можете сохранить где-нибудь в виде файла (предположим, вы называете его «getdata.php») доступным из вашего HTML-файла с вашим кодом D3. При вызове он будет возвращать данные из вашей базы данных MySQL в формате json (пока сервер базы данных не находится за пределами вашего домена);
<?php
$username = "******";
$password = "******";
$host = "******";
$database="***dbase_name***";
$server = mysql_connect($host, $user, $password);
$connection = mysql_select_db($database, $server);
$myquery = "
query here
";
$query = mysql_query($myquery);
if (! $query) {
echo mysql_error();
die;
}
$data = array();
for ($x = 0; $x < mysql_num_rows($query); $x++) {
$data[] = mysql_fetch_assoc($query);
}
echo json_encode($data);
mysql_close($server);
?>
Очевидно, что вам нужно будет ввести соответствующие данные для имени пользователя, пароля, хоста и базы данных. Вам также необходимо будет включить соответствующий запрос для ваших данных, чтобы он вернул то, что вы искали. Что-то вдоль линий (и это только догадка);
SELECT `dateTimeTaken`, `reading` FROM `tablename`
Какой бы возвращать список штампов времени и значений из таблицы под названием tablename
с колоннами называется dateTimeTaken
и reading
. Затем, когда вы читаете в своем json-файле, вы должны использовать следующий синтаксис для кода, в котором вы будете читать в своем json;
d3.json("getdata.php", function(error, data) {
Надеюсь, это близко к тому, что вы ищете. Я тестировал его локально, и все это работает.
Я собрал сообщение для локальной установки простого WAMP-сервера и настройки запроса в базе данных MySQL из d3.js здесь http://www.d3noob.org/2013/02/using-mysql-database-as-source-of-data.html
Это в значительной степени такая же ситуация, как Accessing MySQL database in d3 visualization
Что вы предлагаете мне начать? – BaRd
Если это не имеет смысла, вы можете экспортировать свои данные вручную из MySQL в виде .csv (что-то вроде phpmysqladmin имеет этот параметр или вы можете сделать в командной строке), а затем напрямую загружать этот .csv в D3, который имеет инструмент загрузки csv. (Или, если вы экспортируете с помощью вкладок в качестве разделителя, используйте импорт D3 «tsv».) Это не динамично, но вы будете работать и работать намного быстрее, чем отступать, чтобы изучить совершенно новую структуру. –
@ChrisWilson У меня нет прямого доступа к базе данных, и я буду использовать его при визуализации в реальном времени. – BaRd