2013-04-20 101 views
1

我想用户可以看到他们在哪里以及按照国家和地区划分的总数:统计共有数据库

这是正确的吗?

<script type='text/javascript'> 
google.load('visualization', '1', {'packages': ['geochart']}); 
google.setOnLoadCallback(drawRegionsMap); 

    function drawRegionsMap() { 
    var data = google.visualization.arrayToDataTable([ 
     ['Country', 'Politics'], 
     <?php 
     $sql = mysql_query("SELECT country FROM comments WHERE userid = '$userid' AND GROUP BY country"); 
     $output = ""; 
     $countpeople = mysql_num_rows($sql); 
     while($row = mysql_fetch_array($sql)){ 
      } 
     echo $output; 
     ?> 
    ]); 

    var options = {'backgroundColor': '#E9F6FD'}; 

    var chart = new google.visualization.GeoChart(document.getElementById('chart_div')); 
    chart.draw(data, options); 
}; 
</script> 

有没有办法让SELECT SUM?

谢谢你的帮助。

+2

这个问题不是很精确,所以我的回答也不是很精确“是的,MySQL可以SUM()。” - http://dev.mys ql.com/doc/refman/5.5/en/group-by-functions.html#function_sum – CBroe 2013-04-20 12:43:09

+0

而且,请停止将值连接到SQL中,请使用查询绑定ALWAYS,它可以防止一些问题,从SQL注入开始。 – 2013-04-20 12:58:09

回答

0

是的,你可以通过修改查询

$sql = mysql_query("SELECT sum(country) as total FROM comments WHERE userid = '$userid' AND GROUP BY country"); 

做到这一点,你可以出去放

echo $row['total'] 
+0

总结国家?英国+美国=? – fancyPants 2013-04-20 12:44:18

+0

@sumit joshi:感谢您的快速提示。我只是做了一个改变,但在geochart上仍然没有结果输出。 – user2302070 2013-04-20 12:49:00

+0

@tombom:你的意思是? – user2302070 2013-04-20 12:49:19

1

张贴的所有代码,只有查询有关这个问题,以及查询你需要的是:

SELECT country, count(*) as total 
FROM comments 
WHERE userid = '$userid' 
GROUP BY country 
+0

非常感谢,我只是做了一些改变,但在图表上仍然没有结果输出。我应该打开另一个问题吗?谢谢。 – user2302070 2013-04-20 13:02:02

+0

是的,打开一个新的问题。你已经解决了数据方面,现在你有一个渲染问题。 – Bohemian 2013-04-20 13:07:47

+0

谢谢你的建议。 – user2302070 2013-04-20 13:10:07