这个问题类似于几个星期前我问过的问题,有些问题得到了解答,但我仍然遇到了主要问题。在这个自定义图表中,我已经能够获得尽可能多的内容,并且我在编写第3个系列时遇到了解读正确数据的问题。
此图表是为了从CSV文件中读取数据。 CSV文件是必须的,我不能使用javascript或任何其他方法,因为我将有5个不同的人在CSV文件中输入他们的数据,他们不知道如何将内容编码为javascript,mysql或其他方法。它必须是excel或CSV。
我遇到的问题是我添加了额外的系列,但它没有从CSV文件中读取它。第一个系列读取日期,第二个系列读取第二行数据,第三个系列读取第二行。这里有人知道如何让第三个系列读取第三行数据吗?等等(第4系列读第4行数据......)?
顺便说一下这是代码(代码不包括额外的系列):
的index.php
<?php header('Access-Control-Allow-Origin: *'); ?>
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>ITS Dashboard Test Chart</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
$.getJSON('csvparse.php?callback=?', function(data) {
// Create the chart
$('#container').highcharts('StockChart', {
rangeSelector : {
selected : 1
},
title : {
text : 'ITS Dashboard Test Chart'
},
series : [{
name : 'Open Tickets',
data : data,
tooltip: {
valueDecimals: 0
}
}]
});
});
});
</script>
<script src="datalod.js"></script>
<script src="dataexp.js"></script>
</head>
<body>
<div id="container" style="height: 500px; min-width: 500px"></div>
</body>
</html>
csvparse.php
<?php echo $_GET["callback"];
echo "(";
if (($handle = fopen("table.csv", "r")) !== FALSE) {
$row = 0;
$days_array = array();
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
if ($row > 0) {
$time_epoch = strtotime($data[0]) * 1000;
$day_array = array($time_epoch, $data[1]);
array_push($days_array, $day_array);
}
$row++;
}
$days_array_asc = array_reverse($days_array);
print json_encode($days_array_asc, JSON_NUMERIC_CHECK);
fclose($handle);
}
echo ");";
?>
data.csv
Date,Open Tickets,Row2,Row3,Row4,Row5,Row6
2013-12-01,01,09,0,0,0,0
2013-11-01,06,05,0,0,0,0
2013-10-01,11,12,0,0,0,0
2013-09-01,16,13,0,0,0,0
提前感谢能帮助我解决这个难题的人:)