我是這個社區的新人。自從幾天以來,我試圖使用Highstock實現圖表。此圖表將顯示隨時間變化的溫度監控。MySQL日期時間 - XAXIS HIGHCHART
這些值通過PHP獲取並存儲在MySQL中。我能夠在Highchart的XAXIS中顯示溫度值,但不顯示日期時間。
我沒有使用Javascript,我認爲我的問題可能會發布,如果我找到解決方案如何將DateTime轉換爲JavaScript中的Timestamp並將其顯示爲DateTime。
請在下面找到我的代碼:
<?php
//Récupération des valeurs stockées dans MySQL
mysql_connect("localhost","root","root"); //connexion à la base de données mysql
mysql_select_db("Chart"); //connexion à la base de données concernées
?>
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<script src="https://code.highcharts.com/stock/highstock.js"></script>
<script src="https://code.highcharts.com/stock/modules/exporting.js"></script>
<div id="container">
<script>
<?php
//récuparation de la colonne "value" dans le tableau "temperature"
$query = mysql_query("SELECT value FROM inside_temp");
while($ligne = mysql_fetch_array($query)){
$inside_temp[] = $ligne[0];
}
//récupération de la colonne date dans le tableau date
$query = mysql_query("SELECT date FROM inside_temp");
while($row = mysql_fetch_array($query)){
//$date_inside[] = $row[0];
$date_inside_temp[] = strtotime($row[0]) *1000;
$date_inside_temp[] = date_format($row[0]," Y-m-d H:i:s,");
}
//récuparation de la colonne "value" dans le tableau "temperature"
$query = mysql_query("SELECT value FROM outside_temp");
while($ligne = mysql_fetch_array($query)){
$outside_temp[] = $ligne[0];
}
//récuparation de la colonne "value" dans le tableau "temperature"
$query = mysql_query("SELECT value FROM thermostat_setpoint");
while($ligne = mysql_fetch_array($query)){
$therm_setpoint[] = $ligne[0];
}
//récuparation de la colonne "value" dans le tableau "temperature"
$query = mysql_query("SELECT value FROM consumption");
while($ligne = mysql_fetch_array($query)){
$consumption[] = $ligne[0]/1000;
}
?>
Highcharts.stockChart('container', {
rangeSelector: {
selected: 4
},
title: {
text: 'Consumption & Temperature monitoring'
},
subtitle: {
text: 'Heating experiment - LTU, Summer 2017'
},
xAxis: {
type: 'datetime',
//categories: [<?php echo join($date_inside_temp,',') ?>],
categories: Date.UTC(<?php echo $date_inside_temp;?>),
tickInterval: 15,
labels: {
format: '{value:%Y-%b-%e %H:%m}'
}
},
yAxis: {
title: {
text: 'Measured values (°C or kW)'
}
},
series: [{
name: 'Wall plug consumption',
data:[<?php echo join($consumption,',') ?>]
}, {
name: 'Inside temperature',
data: [<?php echo join($inside_temp,',') ?>]
}, {
name: 'Thermostat setpoint',
data:[<?php echo join($therm_setpoint,',') ?>]
}, {
name: 'Outside temperature',
data:[<?php echo join($outside_temp,',') ?>]
}] //fin de series
});
是的,我做了,你在你的評論注意到它在PHP的轉換。 但是,正如您可以在我的代碼和附加圖片上看到的那樣,它不起作用。 –
所以你有毫秒的時間戳,它仍然無法工作?你能否在x軸上顯示任何項目的時間戳& – Constantine
你不需要在Js中將它恢復到datetime。 – Constantine