Následuje php skript, který byste měli být schopni někam uložit jako soubor (řekněme, že mu říkáte 'getdata.php') přístupný z vašeho HTML souboru s vaším D3 kódem. Po zavolání vrátí data z vaší databáze MySQL ve formátu json (pokud databázový server není mimo vaši doménu);
<?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);
?>
Je zřejmé, že byste museli zadat příslušné podrobnosti pro uživatelské jméno, heslo, hostitele a databázi. Také byste museli zahrnout vhodný dotaz na svá data, aby vrátila data pro 'dateTimeTaken' a 'reading'. Něco ve smyslu (a toto je pouze odhad);
SELECT `dateTimeTaken`, `reading` FROM `tablename`
Když pak přejdete ke čtení souboru json, použijete následující syntaxi pro kód, ve kterém budete číst ve svém json;
d3.json("getdata.php", function(error, data) {
Doufám, že se to blíží tomu, co hledáte. Testoval jsem to lokálně a zdá se, že to všechno funguje..
Dal jsem dohromady příspěvek, který projde místní instalací jednoduchého serveru WAMP a nastaví dotaz na databázi MySQL z d3.js zde http://www.d3noob.org/2013/02/using-mysql-database-as-source-of- data.html