Följande är ett php-skript som du borde kunna spara någonstans som en fil (låt oss säga att du kallar det 'getdata.php') tillgänglig från din HTML-fil med din D3-kod i. När den kallas kommer den att returnera data från din MySQL-databas i ett json-format (så länge som databasservern inte är utanför din domän);
<?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 ( ! $myquery ) {
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);
?>
Uppenbarligen skulle du behöva ange lämpliga uppgifter för användarnamn, lösenord, värd och databas. Du skulle också behöva inkludera en lämplig fråga för din data så att den returnerade data för 'dateTimeTaken' och 'reading'. Något i stil med (och detta är bara en gissning);
SELECT `dateTimeTaken`, `reading` FROM `tablename`
När du sedan går för att läsa in din json-fil skulle du använda följande syntax för koden där du skulle läsa i din json;
d3.json("getdata.php", function(error, data) {
Förhoppningsvis är det nära det du letar efter. Jag har testat det lokalt och allt verkar fungera.
Jag har satt ihop ett inlägg för att gå över lokal installation av en enkel WAMP-server och ställa in en fråga på MySQL-databasen från d3.js här http://www.d3noob.org/2013/02/using-mysql-database-as-source-of- data.html