我已经避免javascript一段时间了,但需要使用它为我正在使用的谷歌图表。我的原始代码看起来像这样…
echo "function drawChart() {
var data = google.visualization.arrayToDataTable([
['Date', 'Machines Total' ],
[ '$Day[6]', $Hour_Tot[7].$Min_Tot[7] ],
[ '$Day[5]', $Hour_Tot[6].$Min_Tot[6] ],
[ '$Day[4]', $Hour_Tot[5].$Min_Tot[5] ],
[ '$Day[3]', $Hour_Tot[4].$Min_Tot[4] ],
[ '$Day[2]', $Hour_Tot[3].$Min_Tot[3] ],
[ '$Day[1]', $Hour_Tot[2].$Min_Tot[2] ],
[ '$Day[0]', $Hour_Tot[1].$Min_Tot[1] ]
]);";
这段代码工作得很好,并且已经经过测试。我现在要做的就是拥有图表变得更加动态,因此用户可以输入一个数字,图表可以输出天数的数据。所以我需要添加一个for循环。这是我得到的远。
echo "function drawChart() {
var data = google.visualization.arrayToDataTable([
['Date', 'Machine L1' ],
for (count = 1, DayNumber = 0; count == 7; ++count, ++DayNumber )
document.write([ '$Day[DayNumber]', $Hour_Tot[count].$Min_Tot[count]],);
]);";
这段代码不起作用。我不明白如何使用这个文件。写入输出我需要复制上面的7行代码
这段代码将不起作用,因为您在数组声明中放入了for循环。你应该这样做…
echo "function drawChart() {
var data = google.visualization.arrayToDataTable([
['Date', 'Machine L1' ],";
for ($count = 1, $DayNumber = 0; $count <= 7; ++$count, ++$DayNumber ) {
echo " [ '$Day[$DayNumber]', $Hour_Tot[$count].$Min_Tot[$count]],";
}
echo "]);";
或者你也可以用javascript来处理,它应该是这样的:
echo "var arr = [['Date', 'Machine L1']];
for(var i=1;i<=7;i++) {
arr.push([{$Day}[i-1], {$Hour_Tot}[i].toString()+{$Min_Tot}[i].toString()]);
}
var data = google.visualization.arrayToDataTable(arr);
";