我在我的网站上安装了Highcharts,但我遇到了问题。 MySQL以该值返回数据:
['26.03.2013', 1], ['26.03.2013', 1], ['26.03.2013', 1], ['26.03.2013', 1], ['26.03.2013', 1], ['11.03.2013', 1], ['21.03.2013', 1], ['22.03.2013', 1]
它包含在Highcharts中:
$('#chart').highcharts({
chart: {
type: 'line'
},
title: {
text: 'Statistika prenosov'
},
xAxis: {
title: {
text:'Datum'
}
},
yAxis:{
title: {
text:'Prenosi'
},
plotLines: [{
value: 0,
width: 1,
color: '#808080'
}]
},
series: [{
name: 'Prenosi',
data: [['26.03.2013', 1], ['26.03.2013', 1], ['26.03.2013', 1], ['26.03.2013', 1], ['26.03.2013', 1], ['11.03.2013', 1], ['21.03.2013', 1], ['22.03.2013', 1]]
}]
});
});
但是我想,如果有三个日期26.3.2013,那么不要单独展示它们,而是把它们放在一起,所以结果应该是3,而不是3x1。
以下是我如何使用PHP获取结果:
$query=mysql_query("SELECT * FROM downloads WHERE prjID='".$_GET['id']."' ORDER BY date ASC");
$num=mysql_num_rows($query);
$res='';
$i=0;
while($row=mysql_fetch_array($query)){
$i++;
$date=date("d.m.Y", strtotime($row['date']));
$numb=1;
if($i!=$num){
$res.="['".$date."', ".$numb."], ";
}
else{
$res.="['".$date."', ".$numb."]";
}
}
答案 0 :(得分:1)
最简单的方法是修改SQL以便为您求和。如果您要显示每个日期的计数,请将查询更改为:
SELECT date,count(*) as num FROM downloads WHERE prjID='".$_GET['id']."' GROUP BY date ORDER BY date ASC"