0
我試圖格式化和通過AJAX用PHP加載多個系列數據按本example:highcharts變換JSON數據與Date.UTC
以下PHP代碼,
<?php
$connection = pg_connect("host=localhost port=5432 dbname=pccs user=michael password=huskies1975") or die(" " . pg_last_error($connection));
$chart1 = pg_query($connection, "SELECT sample_date, a FROM monitor_nutrient WHERE station_num_id = 201 ORDER BY sample_date ASC LIMIT 5");
$row_a = array();
$row_a['name'] = 'Temperature';
while ($ra = pg_fetch_array($chart1)) {
$date = str_replace("-",",",$ra['sample_date']);
$row_a['data'][] = array($date, $ra['a']);
}
$chart1 = pg_query($connection, "SELECT sample_date, b FROM monitor_nutrient WHERE station_num_id = 201 ORDER BY sample_date ASC LIMIT 5");
$row_b = array();
$row_b['name'] = 'Salinity';
while ($rb = pg_fetch_array($chart1)) {
$date = str_replace("-",",",$rb['sample_date']);
$row_b['data'][] = array($date, $rb['b']);
}
$chart1 = pg_query($connection, "SELECT sample_date, c FROM monitor_nutrient WHERE station_num_id = 201 ORDER BY sample_date ASC LIMIT 5");
$row_c = array();
$row_c['name'] = 'Dissolved Oxygen';
while ($rc = pg_fetch_array($chart1)) {
$date = str_replace("-",",",$rc['sample_date']);
$row_c['data'][] = array($date, $rc['c']);
}
$result = array();
array_push($result, $row_a);
array_push($result, $row_b);
array_push($result, $row_c);
echo(json_encode($result, JSON_NUMERIC_CHECK));
//print json_encode($result, JSON_NUMERIC_CHECK);
pg_close($connection);
?>
產生這有效( JsonLint)輸出中:
[
{
"name": "Temperature",
"data": [
[
"2012,06,12",
20.38
],
[
"2012,06,21",
24.62
],
[
"2012,07,03",
25.96
],
[
"2012,07,20",
24.92
],
[
"2012,08,03",
25.56
]
]
},
{
"name": "Salinity",
"data": [
[
"2012,06,12",
31.49
],
[
"2012,06,21",
31.47
],
[
"2012,07,03",
31.11
],
[
"2012,07,20",
30.75
],
[
"2012,08,03",
30.94
]
]
},
{
"name": "Dissolved Oxygen",
"data": [
[
"2012,06,12",
5.53
],
[
"2012,06,21",
7.07
],
[
"2012,07,03",
5.3
],
[
"2012,07,20",
3.49
],
[
"2012,08,03",
6.67
]
]
}
]
首先,這是一個Highcharts系列格式正確,第二,如何以及在哪裏我的日期轉換爲Date.UTC()之類的例子,的javascrip T/PHP?最後是下面的代碼甚至接近我想要的。
function chartParser(data) {
$.each(data, function (key, value) {
var series = {name: key, data: []};
$.each(value, function (key, val) {
if (key == 'name') {
series.name = val;
}
else {
$.each(val, function (key, val) {
options.series.push([val[0], val[1]]);
});
}
});
var chart1 = new Highcharts.Chart(options);
});
}
任何幫助和示例將不勝感激。我一直在這裏折磨自己幾個星期。
不錯,非常感謝你。我每一步都遇到困難,每一點都有所幫助。 – geomajor56
因此它可以解決您的問題? :) –
是的,謝謝。現在到下一個問題。 – geomajor56