php - 为什么从mysql数据库读取数据,直方图不显示

标签 php mysql d3.js

我想根据此示例重现直方图 http://bl.ocks.org/mbostock/3048450但从sql表中读取输入数据。 将数据读取到“值”是可行的,但只有当我从 SQL 读取数据后发出警报时,条形图才会显示在浏览器中。

我假设 svg 是在读取所有数据之前渲染的?

var values = [];
var counter = 0;

d3.json("php/data2.php", function(error, arrw) {
    arrw.forEach(function(d) {
        values.push(parseFloat(arrw[counter]["close"]));
        counter++;
    });
}); 

alert(); // without this alert the bars are not displayed in the svg

最佳答案

尝试使用 D3 库 queue() 来计时更新。

所以类似:

queue()
  .defer(d3.json, "php/data2.php")
  .await(ready);

function ready(error, arrw) {
  //now you can use the data set in your general update paradigm
  //and did not have to wait the data to load sequentially

 arrw.forEach(function(d) {
        values.push(parseFloat(arrw[counter]["close"]));
        counter++;
});
}

More about queue

More about D3 and mySQL.

关于php - 为什么从mysql数据库读取数据,直方图不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26326426/

相关文章:

c# - Entity Framework 。外键引用不存在的项目

javascript - 如何更改散点图中图例的位置 D3.js

javascript - 使用graphviz和d3生成饼图DAG时获取百分比

php - CodeIgniter - 引用 URL - 保存在数据库中

php - 如何在 PHP 脚本中将音轨混合在一起?

qt4 - 无法在Qt4的QProcess中正确启动mysqldump

php - DataTables 第 2 页的分页未调用放大弹出窗口

javascript - 如何更改 NVD3 中控制按钮上的标签?

php - wpdb->query UPDATE 查询不起作用

php - 从 sql 数据库设置 session id 变量;这安全吗?