2013-03-27 105 views
0

我在我的网站上安装了Highcharts,但是我遇到了问题。在MySQL该值返回数据:相同日期的Highcharts求和结果

['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]] 
     }] 
    }); 

}); 

但我想,如果有三个日期2013年3月26日,然后不向他们展示每一个人,但把它们放在一起,所以结果应该是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."]"; 
} 

} 

回答

1

最简单的事情将是修改SQL来概括它。如果您尝试显示每个日期的计数,则将您的查询更改为:

SELECT date,count(*) as num FROM downloads WHERE prjID='".$_GET['id']."' GROUP BY date ORDER BY date ASC" 
相关问题