2013-04-20 42 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