2012-12-27 47 views
1

我想創建一個Google line chart我的網站每天獲得的觀看次數。我不太確定如何做到這一點。PHP使用谷歌圖表製作圖表

這裏是代碼使一切工作:

<html> 
<head> 
<script type="text/javascript" src="https://www.google.com/jsapi"></script> 
<script type="text/javascript"> 
    google.load("visualization", "1", {packages:["corechart"]}); 
    google.setOnLoadCallback(drawChart); 
    function drawChart() { 
    var data = google.visualization.arrayToDataTable([ 
     ['Year', 'Sales', 'Expenses'], 
     ['2004', 1000,  400], 
     ['2005', 1170,  460], 
     ['2006', 660,  1120], 
     ['2007', 1030,  5412] 
    ]); 

    var options = { 
     title: 'Company Performance' 
    }; 

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

現在我想改變這種列出的總瀏覽數每一天,我的網站,然後將其與每天訪問我網站的唯一視圖數量進行比較。

的查詢將如下所示:

$total = mysql_query("SELECT id, userID, ip, date FROM views WHERE userID!='1'"); 
$unique = mysql_query("SELECT id, userID, ip, date FROM views GROUP BY ip"); 

回答

0

總是錯誤的,得到它,每天你應該這樣做

SELECT count(*) as nr, date FROM views WHERE userID!='1' GROUP BY date 

你的獨立訪客是不那麼容易計算。我想創建一個視圖我的查詢使用, 視圖會像

SELECT count(*) as nr, data, ip FROM views WHERE userID!='1' GROUP BY date, ip ORDER BY date 

比方說,你給上面的名字unique_views視圖。 nr列實際上並沒有使用,但是對於其他的東西來說很不錯。

要獲得獨立訪問者,你應該做

SELECT count(*), date FROM unique_views GROUP BY date ORDER BY date 

無論是查詢上面應該有相同數量的記錄,因爲兩者都基於同一個表,所以如果你跑了他們兩個,你應該能夠

$total_per_day = mysql_query("SELECT count(*) as nr, data, ip FROM views WHERE userID!='1' GROUP BY date, ip ORDER BY date"); 
$unique_per_day = mysql_query("SELECT count(*) as nr, date FROM unique_views WHERE userID!='1' GROUP BY date ORDER BY date"); 

然後,您可以做一個

for($i=0;$i<count($total_per_day);$i++) { 
    $result[] = "['" . $total_per_day[$i]["date"] . "'," . $total_per_day[$i]["nr"] . "," . $unique_per_day[$i]["nr"] . "]" 
} 
$str = implode(",", $result); 
+0

感謝所有的時間!不幸的是,我一直無法得到它的工作。 :\ –

+0

這是相當技術性的,我不能測試我的代碼,因爲它很難。如果你確實從10年的程序員那裏拿走任何東西,那就是使用谷歌自己的分析工具,不要試圖建立自己的分析。你沒有專業知識,他們擁有所有免費的東西。將代碼插入到您的網頁中,然後進行設置。將數據妥善保存在他們的系統中,您可以找到數十個關於如何將其與自己的圖形集成的示例。 –

+0

如果你真的想要在你自己的系統中的數據,仍然使用他們的系統,你可以很容易地查詢他們的數據庫,並保存自己的數據庫。 –