sql >> Databasteknik >  >> RDS >> Mysql

Hur hämtar man data från mysql-databasen och visualiserar med D3.JS?

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 ( ! $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);
?>

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 det du letade efter. Något i stil med (och detta är bara en gissning);

SELECT `dateTimeTaken`, `reading` FROM `tablename`

Vilket skulle returnera en lista med tidsstämplar och värden från en tabell som heter tablename med kolumner som heter dateTimeTaken och reading .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

Det här är ungefär samma situation som Åtkomst MySQL-databas i d3-visualisering



  1. Räkna antalet distinkta rader för flera värden

  2. Använder LIMIT 1 i MySQL

  3. Hur sammanfogar man flera rader?

  4. Createuser:kunde inte ansluta till databasen postgres:FATAL:rollen tom finns inte