我尝试在highchart中绘制一个包含数据库数据的基本折线图。 它适用于静态值。我在数据库中读取了生成字符串的数据。当我尝试使用字符串作为数据值时,我得到以下错误代码:
Uncaught TypeError: Cannot read property '0' of undefined
我的.js代码
var $container = $('<div>').appendTo(document.body);
window.chart=new Highcharts.Chart(
{
chart: {
renderTo: $container[0],
height: 400
},
title:
{
text: ''
},
subtitle:
{
text: ''
},
xAxis:
{
title:
{
type: 'datetime'
}
},
yAxis:
{
title:
{
text: ''
}
},
tooltip:
{
valueSuffix: '\xB0C'
},
legend:
{
layout: 'vertical',
align: 'right',
verticalAlign: 'middle'
},
plotOptions:
{
series:
{
pointStart: Date.now() / 24 / 60 / 60 / 1000,
pointIntervall: 1 / 60 / 60 / 60 / 1000,
}
},
series:
[
{
name: 'Frequenz [Hz]',
data: [<?php echo $FrequenzValues; ?>]
},
{
name: 'Motorstrom [A]',
data: [<?php echo $StromValues; ?>]
},
{
name: 'Spannung MF11 [V]',
data: [<?php echo $MF_11Values; ?>]
},
{
name: 'Motorspannung [V]',
data: [<?php echo $SpannungValues; ?>]
},
{
name: 'Drehmoment [Nm]',
data: [<?php echo $DrehmomentValues; ?>]
},
{
name: 'Drehzahl [1/min]',
data: [<?php echo $DrehzahlValues; ?>]
}
]
});
HTML代码
<script src="es_scripts/jquery.min.js"></script>
<script src="es_scripts/highcharts.js"></script>
&#13;
我在函数&#34; GetChartsValue&#34;中创建字符串。我将测量值放在一起,用逗号分隔并删除最后一个字符
function getChartValues()
{
$q_data = mysql_query("SELECT * FROM Messwerte ORDER BY id DESC") or die(mysql_error());
$n_data = mysql_num_rows($q_data);
if($n_data > 0)
{
$FrequenzValues = '';
$StromValues = '';
$MF_11Values = '';
$SpannungValues = '';
$DrehmomentValues = '';
$DrehzahlValues = '';
$MPValues
= '';
while($r_data = mysql_fetch_array($q_data))
{
$FrequenzValues .= $r_data['Frequenz'].','; // Einzelne Werte durch Komma trennen
$StromValues .= $r_data['Strom'].','; // Einzelne Werte durch Komma trennen
$MF_11Values .= $r_data['MF_11'].','; // Einzelne Werte durch Komma trennen
$SpannungValues .= $r_data['Spannung'].','; // Einzelne Werte durch Komma trennen
$DrehmomentValues .= $r_data['Drehmoment'].','; // Einzelne Werte durch Komma trennen
$DrehzahlValues .= $r_data['Drehzahl'].','; // Einzelne Werte durch Komma trennen
$MPValues .= $r_data['DatumZeit'].','; // Einzelne Werte durch Komma trennen
}
$FrequenzValues = delLastChar($FrequenzValues); // Komma hinter dem letzten Temperaturwert entfernen
$StromValues = delLastChar($StromValues); // Komma hinter dem letzten Temperaturwert entfernen
$MF_11Values = delLastChar($MF_11Values); // Komma hinter dem letzten Temperaturwert entfernen
$SpannungValues = delLastChar($SpannungValues); // Komma hinter dem letzten Temperaturwert entfernen
$DrehmomentValues = delLastChar($DrehmomentValues); // Komma hinter dem letzten Temperaturwert entfernen
$DrehzahlValues = delLastChar($DrehzahlValues); // Komma hinter dem letzten Temperaturwert entfernen
$MPValues = delLastChar($MPValues); // Komma hinter letzter Stunde entfernen
return array($FrequenzValues, $StromValues, $MF_11Values, $SpannungValues, $DrehmomentValues, $DrehzahlValues, $MPValues);
}
}
也许你可以看到错误。