2013-02-10 58 views
2

我需要一些幫助與D3和MySQL。以下是我的問題:如何可視化數據從MySQL數據庫強制佈局的D3工具

我正在使用d3 force定向佈局來可視化存儲在MySQL中的數據。我現在想用d3將它可視化。就我對d3的瞭解而言,它需要包含節點和鏈接的json文件作爲輸入。我的問題是:如何以指定的格式從d3腳本訪問這個MySQL數據庫?我想爲d3工具提供這種輸入。請幫幫我。

{"nodes":[{"name":"Myriel","group":1}, 
      {"name":"Mlle.Baptistine","group":1}, 
                               {"name":"Mme.Hucheloup","group":1}], 
     "links":[{"source":1,"target":0,"value":1}, 
     {"source":2,"target":0,"value":8}, 
      {"source":3,"target":0,"value":10}]} 

回答

2

這裏有一篇關於在D3上使用MySQL數據庫的博客文章http://www.d3noob.org/2013/02/using-mysql-database-as-source-of-data.html

關鍵是要調用d3中的數據調用一個php腳本,該腳本以d3預期的格式返回數據。

例如這條線; ...

d3.json("php/data2.php", function(error, data) { 

...是告訴D3以JSON格式獲取數據,但它調用PHP腳本,做數據庫的查詢和返回JSON格式的數據;

這裏是它的調用腳本(data2.php);

<?php 
    $username = "homedbuser"; 
    $password = "homedbuser"; 
    $host = "localhost"; 
    $database="homedb"; 

    $server = mysql_connect($host, $username, $password); 
    $connection = mysql_select_db($database, $server); 

    $myquery = " 
SELECT `date`, `close` FROM `data2` 
"; 
    $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); 
?> 
+0

thnx ..我只是想知道,將json_encode將返回我所需的格式,我已經提到上述數據。請幫助 – user2058285 2013-02-14 07:00:14

+0

thnx很多d3noob,我可以將我的數據轉換成json格式。但我無法從我的d3代碼中調用該php腳本。任何人都可以幫我從d3代碼中調用這個腳本。 – user2058285 2013-02-16 05:36:33

+0

您是否安裝了PHP? (如果你使用的是WAMP,那是肯定的,但如果你只是在本地運行html文件,那會阻止你使用php腳本)。爲了測試這個,你可以將你的瀏覽器指向php文件,它應該直接向瀏覽器回顯數據。 – d3noob 2013-02-18 03:44:46