【问题标题】:how to pass dynamic url in c3.js?如何在 c3.js 中传递动态 url?
【发布时间】:2016-07-26 19:06:57
【问题描述】:

有一页以 csv 格式显示数据。当我在 c3.js 中传递这个 url 时,我没有得到正确的输出。

这里是c3.html的代码:

<html>     
<head>   
    <link rel="stylesheet" type="text/css" href="c3.css">
</head>

<body>  
    <div id="chart"></div>
    <script src="d3.min.js"></script>
    <script src="d3.v3.min.js" charset="utf-8"></script>     
    <script src="c3.min.js"></script>       
    <script>    
        var chart = c3.generate({
            data: {
                url: 'view1.php/id=34.csv',
            }
        });
    </script>
</body>

当我运行这个脚本时,我会得到这样的输出:

view1.php?id=34.csv 的输出是 : view1.php 的代码是: 谁能帮我解决这个问题?

【问题讨论】:

  • 网址中的错字? / 而不是 ?
  • 尝试将 data.url 更改为 view1.php?id=34.csv
  • 我在 url 中使用了 / 。这是网址:view1.php/id=34.csv
  • @gattsbr 我用过吗?而不是 / 仍然得到相同的输出。
  • 好的,如果您直接在浏览器中访问 url,是否会出现 csv 文件,还是会出现错误?

标签: php c3.js


【解决方案1】:

在图像中,您返回的是一个表格,而不是 csv,您需要的是原始文本,而不是 html 表格。
在你的 php 文件中尝试这个输出:

//print recognized headers
for ($i = 0; $i < count($head); $i++) {
    echo $head[$i];
    echo $i == (count($head)-1) ? "\n" : ",";
}

//print your csv row as table row
foreach ($data as $r) {
    for ($i = 0; $i < count($r); $i++) {
        echo $r[$i];
        echo $i == (count($r)-1) ? "\n" : ",";
    }
}

【讨论】:

  • 是吗?还是有一个额外的元素(由于额外的 , 最后)?
  • 是的,还有一个额外的元素。
  • 好的,我们需要使用一个不会在最后一个元素上打印逗号的循环
  • 你能告诉我如何用换行符将数据插入数据库。例如:插入时的数据是this-data,count 120,80 140,50 170,100 150,70 180,120,插入后的数据会像表格一样出现。那该怎么做呢?
  • @abhisheksharma 尝试更新的代码没有额外的元素。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-12
  • 2021-11-23
  • 2019-11-07
  • 2020-11-01
  • 2012-12-02
相关资源
最近更新 更多