为highcharts创建一个PHP数组 [英] Create an PHP Array for highcharts
问题描述
我正在尝试为高图表创建多个数组集,如您在此处看到的 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屋!