Das Folgende ist ein PHP-Skript, das Sie irgendwo als Datei speichern können sollten (sagen wir, Sie nennen es "getdata.php"), auf das Sie von Ihrer HTML-Datei mit Ihrem D3-Code aus zugreifen können. Wenn es aufgerufen wird, gibt es Daten aus Ihrer MySQL-Datenbank im json-Format zurück (solange sich der Datenbankserver nicht außerhalb Ihrer Domäne befindet);
<?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);
?>
Natürlich müssten Sie die entsprechenden Details für Benutzername, Passwort, Host und Datenbank eingeben. Sie müssten auch eine geeignete Abfrage für Ihre Daten einfügen, damit sie das zurückgeben, wonach Sie gesucht haben. Etwas in der Art von (und das ist nur eine Vermutung);
SELECT `dateTimeTaken`, `reading` FROM `tablename`
Was eine Liste von Zeitstempeln und Werten aus einer Tabelle namens tablename
zurückgeben würde mit Spalten namens dateTimeTaken
und reading
. Wenn Sie dann Ihre json-Datei einlesen, verwenden Sie die folgende Syntax für den Code, in dem Sie Ihre json einlesen würden;
d3.json("getdata.php", function(error, data) {
Hoffentlich kommt das dem, was Sie suchen, nahe. Ich habe es lokal getestet und es scheint alles zu funktionieren..
Ich habe einen Beitrag zusammengestellt, um die lokale Installation eines einfachen WAMP-Servers und das Einrichten einer Abfrage in der MySQL-Datenbank von d3.js hier http://www.d3noob.org/2013/02/using-mysql-database-as-source-of- data.html
Dies ist so ziemlich die gleiche Situation wie Zugriff MySQL-Datenbank in d3-Visualisierung