Quello che segue è uno script php che dovresti essere in grado di salvare da qualche parte come file (diciamo che lo chiami "getdata.php") accessibile dal tuo file HTML con il tuo codice D3. Quando chiamato, restituirà i dati dal tuo database MySQL in un formato json (a condizione che il server del database non sia esterno al tuo dominio);
<?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);
?>
Ovviamente è necessario inserire i dettagli appropriati per nome utente, password, host e database. Dovresti anche includere una query appropriata per i tuoi dati in modo che restituisca quello che stavi cercando. Qualcosa sulla falsariga di (e questa è solo una supposizione);
SELECT `dateTimeTaken`, `reading` FROM `tablename`
Il che restituisce un elenco di francobolli e valori di tempo da una tabella chiamata tablename
con colonne chiamato dateTimeTaken
e reading
. Quindi quando vai a leggere nel tuo file JSON userai la seguente sintassi per il codice in cui verrebbe letto nel tuo json;
d3.json("getdata.php", function(error, data) {
Speriamo che sia vicino a quello che stai cercando. L'ho provato localmente e tutto sembra funzionare ..
Ho messo insieme un post per esaminare l'installazione locale di un semplice server WAMP e impostare una query sul database MySQL da d3.js qui http://www.d3noob.org/2013/02/using-mysql-database-as-source-of-data.html
Questo è più o meno la stessa situazione di Accessing MySQL database in d3 visualization
Che cosa mi suggerisce di iniziare? – BaRd
Se nessuno di questi ha senso, potresti voler esportare i tuoi dati manualmente da MySQL come .csv (qualcosa come phpmysqladmin ha questa opzione, o puoi farlo sulla riga di comando) e poi caricare direttamente .csv in D3, che ha un strumento di caricamento CSV. (Oppure se esporti usando le schede come delimitatore, usa l'importazione "tsv" D3.) Non è dinamico, ma ci si alza e si avvia molto più velocemente del tornare indietro per apprendere un quadro completamente nuovo. –
@ChrisWilson Non ho accesso diretto al database e lo userò in visualizzazione in tempo reale. – BaRd