Per*_*ron 3 javascript python mysql data-visualization d3.js
我需要一些关于d3和MySQL的帮助.以下是我的问题:
我有数据存储在MySQL中(例如:关键字及其频率).我现在想用d3将其可视化.据我所知,d3需要json文件作为输入.我的问题是:如何从d3脚本访问这个MySQL数据库?我能想到的一种方法是:
使用Python,连接数据库并以json格式转换数据.将其保存在一些.json文件中.
在d3中,将此json文件作为输入读取并在可视化中使用它.
有没有其他方法可以直接使用d3将MySQL中的数据转换为.json格式?我们可以从d3连接到MySQL并读取数据吗?
非常感谢!
以下是一个php脚本,您应该可以将其保存在某个文件中(假设您称之为"getdata.php"),可以从您的HTML文件中访问,其中包含D3代码.调用时,它将以json格式从MySQL数据库返回数据(只要数据库服务器不在您的域之外);
<?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);
?>
Run Code Online (Sandbox Code Playgroud)
显然,您需要输入用户名,密码,主机和数据库的相应详细信息.您还需要为数据包含适当的查询,以便返回"dateTimeTaken"和"reading"的数据.有些东西(这只是猜测);
SELECT `dateTimeTaken`, `reading` FROM `tablename`
Run Code Online (Sandbox Code Playgroud)
然后,当你去阅读你的json文件时,你将使用以下语法作为你将在json中读取的代码;
d3.json("getdata.php", function(error, data) {
Run Code Online (Sandbox Code Playgroud)
希望这接近你正在寻找的东西.我在本地进行了测试,这一切似乎都有效..
我已经整理了一篇文章来讨论一个简单的WAMP服务器的本地安装,并在d3.js上设置MySQL数据库的查询http://www.d3noob.org/2013/02/using-mysql-database -as-源的-data.html