来自 php mysql 的 Highcharts 钻取 json

Posted

技术标签:

【中文标题】来自 php mysql 的 Highcharts 钻取 json【英文标题】:Highcharts drilldown json from php mysql 【发布时间】:2018-08-19 11:41:15 【问题描述】:

当我将 json 数据从下面的硬编码 javscript 更改为从 php mysql 解析时,为什么不能让我的 Highcharts 向下钻取工作?

代码如下

在有效的 java 脚本中硬编码的 json 源代码

drilldowns = 
              name: 'Animals',
              data: [
                     ['Cows', 2],
                     ['Sheep', 3]
                    ]
             ,

当我从以下 php 代码调用 json 时,它不会

<?php

$ret = array();
$mtbf = array();
$mtbf['name'] = "Animals";

$mtbf['data'] = array(
    array( 'Cows', 2),
    array( 'Sheep',3) );

array_push($ret,$mtbf);
echo json_encode($ret);

?>

我结合了 json 的两个来源以便于排除故障和以下工作

$.get("/drilldown.php?name=" +e.point.name,  function(data) 

    drilldowns = 
            name: 'Animals',
            data: [
                ['Cows', 2],
                ['Sheep', 3]
            ]
    ,

    series = drilldowns;

  alert(series);

    chart.addSeriesAsDrilldown(e.point, series);

);

但是,如果我将系列从钻取更改为数据,它就不起作用了

series = data; 

任何帮助将不胜感激

根据 cmets 数据的控制台日志如下

["name":"Animals","data":[["Cows",2],["Sheep",3]]]

用于向下钻取的控制台日志

Object name: "Animals", data: Array(2)

【问题讨论】:

在您的帖子中添加data 的控制台日志 控制台登录数据显示为 ["name":"Animals","data":[["Cows",2],["Sheep",3]]] 【参考方案1】:

我设法通过添加标题以及对数组分配的细微调整来解决问题,并且向下钻取工作。

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

  $mtbf = array();
  $mtbf['name'] = "Animals";
  $mtbf['data'] = array(array( 'Cows', 2),array( 'Sheep',3));

  //var_dump($mtbf);

  //array_push($ret,$mtbf);

  echo json_encode($mtbf);

  ?>

【讨论】:

以上是关于来自 php mysql 的 Highcharts 钻取 json的主要内容,如果未能解决你的问题,请参考以下文章

在 jsp 页面上显示来自 mysql 数据库的 Highcharts 数据

使用 PHP/MySQL 的 highcharts 的 Json 结构

Highcharts 定制 PHP/MySQL

PHP mySQL Highcharts Json 数组

Highcharts 动态图表(按一定时间间隔更新) PHP+MySql 示例

Highcharts Mysql Json 数组 PHP