为highcharts创建一个PHP数组 [英] Create an PHP Array for highcharts

查看:81
本文介绍了为highcharts创建一个PHP数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试为高图表创建多个数组集,如您在此处看到的 HighChart演示

I am trying to create an multiple array set for an highchart as you can see here HighChart Demo

PHP代码可从数据库中检索数据。

PHP code to retrieve data from the database.

    $sql = <<< SQL
             SELECT TOP (
             [miles]
            ,[status]
            FROM [database].[dbo].[portal]
  SQL;

$result = $conn->prepare($sql);
$result->execute();
$rowCount = $result->fetchColumn();

$dataset = array('name' => 'Naam');

while($row = $result->fetch(PDO::FETCH_ASSOC)){

    $data[] = $row['automillage'];
}


array_push($dataset, $data);
echo json_encode($dataset,JSON_NUMERIC_CHECK);

我数组的当前输出为

       {
        0: [
            1000,
            2297,
            1500,
            3301,
           ],
        name: "Naam"
       }

但是我真正想要的是从数据开始而不是从0开始:

But what i really want is starting with data instead of starting with 0:

           {
        Data: [
            1000,
            2297,
            1500,
            3301,
           ],
        name: "Naam"
       }

我想知道如何在一个数组中获得两个数据系列。

And I am wondering how i can get two data series in one array.

Tnx到@bassxzero我现在有正确的输出。

Tnx to @bassxzero i have now the right output.

但是我想实现另一件事。像示例中那样,在一个数组中获取两个数据系列:

But I want to achieve one more thing. Getting two data series in one array like in the Example:

    series: [{
    name: 'Tokyo',
    data: [7.0, 6.9, 9.5, 14.5, 18.4, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6]
}, {
    name: 'London',
    data: [3.9, 4.2, 5.7, 8.5, 11.9, 15.2, 17.0, 16.6, 14.2, 10.3, 6.6, 4.8]
}]

当我尝试对两个数组进行json_decode时,在编译代码时出现错误。

When I try to json_decode the two arrays, I get an error while compiling the code.

-错误代码是:json_decode()期望参数1为字符串,给定数组

$dataset['Data'] = $data;
$dataset2['Data'] = $data2;
$join[] = json_decode($dataset, true);
$join[] = json_decode($dataset2, true);


echo json_encode($join,JSON_NUMERIC_CHECK);

然后,我想用json更新它。我的代码是这样的:

And after that i want to update it with json. My code is like this:

            var chart = new Highcharts.chart('container', {
            chart: {
                type: 'line'
            },
            title: {
                text: 'Monthly Average Temperature'
            },
            subtitle: {
                text: 'Source: WorldClimate.com'
            },
            xAxis: {
                categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
            },
            yAxis: {
                title: {
                    text: 'Temperature (°C)'
                }
            },
            plotOptions: {
                line: {
                    dataLabels: {
                        enabled: true
                    },
                    enableMouseTracking: false
                }
            },
            series: [{
                name: 'Tokyo',
                data: ''
            }, {
                name: 'London',
                data: ''
            }]
        });

        function chartUpdate() {
            $.getJSON("dbcon/connection - Copy.php", function (dataset) {
                chart.update({
                    series: [{
                        data: dataset
                    }]
                });
            });
        } //end chartUpdate 


推荐答案

注意: - array_push()创建一个数字索引,而您需要一个关联索引。

Note:- array_push() creating a numeric index,while you need an associative index.

所以,而不是:-

array_push($dataset, $data);

做:-

$dataset['Data'] = $data;

在一个数组输出中传递两个数组:

pass two arrays in one array output:

$dataset['data'] = $data;
$dataset2['data'] = $data2;
$join[] = json_decode(json_encode($dataset), true);
$join[] = json_decode(json_encode($dataset2), true);

echo json_encode($join,JSON_NUMERIC_CHECK);

这篇关于为highcharts创建一个PHP数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆