json mysql数据到d3图

时间:2013-07-04 12:40:24

标签: php mysql json d3.js

我试图用d3绘制mysql数据。我使用PHP转换为json格式,但它还没有工作!出于测试目的,我按照指示的步骤进行了here 我在XAMPP上使用了simple-graph.html和我自己的php文件。

include('connect.php');
$result=$con->query("SELECT date, close FROM testable");    
echo json_encode($result->fetchAll(PDO::FETCH_ASSOC)); 

它以json格式回声:[{"date":"1-May-12","close":"43.32"},{"date":"30-Apr-12","close":"22.54"},{"date":"27-Apr-12","close":"21.54"},{"date":"25-Apr-12","close":"21.42"}]

当我提供json文件但不提供php文件时,会显示图形。

这有效:

d3.json("json.json", function(error, data) {        
data.forEach(function(d) {                              
d.date =parseDate(d.date);                          
d.close = +d.close;                                 
});

这不起作用:

d3.json("tablecreate.php", function(error, data) {      
data.forEach(function(d) {                              
d.date =parseDate(d.date);                          
d.close = +d.close;                                 
});

所有文件都在同一个文件夹中。

有人可以说明我的错误吗?

1 个答案:

答案 0 :(得分:0)

您尚未提供有关如何将json输出发送到d3脚本的完整php源代码。如果您没有发送正确的内容类型标题,则会出现一个问题。以下是d3的API参考中的一些内容。

  

使用mime在指定的url处创建对JSON文件的请求   输入“application / json”。如果指定了回调,则请求为   立即发布了GET方法,并将回调   加载文件或请求失败时异步调用;   使用两个参数调用回调:错误(如果有)和   解析了JSON。如果发生错误,则解析的JSON未定义。如果不   指定了回调,可以使用返回的请求发出   xhr.get或类似,并使用xhr.on。

处理

确保在回显json输出之前发出了以下语句。

header("Content-Type: application/json");