我需要d3和MySQL的一些帮助。以下是我的问题:
我正在使用d3强制定向布局来可视化存储在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}]}
答案 0 :(得分:3)
这里有一篇关于使用带有D3 http://www.d3noob.org/2013/02/using-mysql-database-as-source-of-data.html的MySQL数据库的博客文章。
关键是让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);
?>