2012-12-27 5 views
1

나는 내 웹 사이트의 조회수를 Google line chart으로 만들려고합니다. 나는 이것을 어떻게하는지 잘 모르겠습니다. 여기 PHP가 Google 차트로 차트 만들기

는 모든 작업 인 코드하게됩니다

<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 년 프로그래머에게서 아무것도 가지고 가지 않으면 Google 독자적인 Analytics를 사용하고, 당신의 자신을 건축하는 것을 시도하지 말라. 당신은 전문성이 없으며 모든 것을 무료로 가지고 있습니다. 페이지에 코드를 삽입하면 설정됩니다. 데이터가 시스템에 적절하게 보관되어 있으면이를 자신의 그래프와 통합하는 방법에 대한 수 많은 예제를 찾을 수 있습니다. –

+0

정말로 자신의 시스템에 데이터를 원한다면 여전히 시스템을 사용하면 쉽게 db를 쿼리하고 자신의 db를 저장할 수 있습니다. –

관련 문제