2012-02-24 49 views
0

您好,我正嘗試使用以下查詢創建圖表。使用谷歌可視化在php和我的SQL中創建圖表

$sql_no=mysql_query("SELECT MONTH(calldate) AS month,COUNT(*) AS nosuccess FROM  details WHERE result =1 GROUP BY MONTH(cdate)"); 
    $call=mysql_fetch_assoc($sql_no);?> 
    <?php 
    While($call=mysql_fetch_assoc($sql_no)){ 
     $success[]=$call['nosuccess']; 
     $monname[]=date('F', mktime(0, 0, 0,$call['month'])); 
     } 

這裏是我的圖表代碼:

var total = <?php echo json_encode($total) ?>; 
var s=<?php echo json_encode($success) ?>; 
var m=<?php echo json_encode($monname) ?>; 
var d=3; 

    var result=[]; 
    for(var i=0; i<s.length; i++) { 
     result.push([m[i],s[i]]); 
    }  
    alert(result.length); 

    google.load("visualization", "1", {packages:["corechart"]}); 
    google.setOnLoadCallback(drawChart); 
    function drawChart() { 
    var data = new google.visualization.DataTable(); 
    data.addColumn('date', 'Month'); 
    data.addColumn('number', 'Success'); 
    // data.addColumn('number', 'Failure'); 
    /*data.addRows([ 
     ['2004', 1000, 400], 
     ['2005', 1170, 460], 
     ['2006', 860, 580], 
     ['2007', 1030, 540] 
    ]);*/ 

data.addRows(result); 

    var options = { 
     width: 800, height: 340, 
     title: 'Call details' 
    }; 

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

圖表沒有顯示。何時隱藏data.addrows(結果);沒有lines..did您發現任何錯誤圖顯示幫助需要立刻...

回答

0

在你PHP,是有<div id="chart_div"></div>

而且json_encode不會爲你創建一個數組。

var s=<?php echo json_encode($success) ?>; !== var s = [xxx]; 

你需要var s = [<?=$success?>];

+0

您好,我已經試過你說什麼,但它仍然沒有工作..我已經測試json_encode返回數組,它的工作fine..any suggesstions..i有一個divü提到在我的php – Guru4ever 2012-02-24 03:51:45

+0

你已經嘗試了谷歌在他們的API文檔中提供的代碼,並確保在進行更改以適應您的需求之前顯示圖表。如果是這樣的話。我認爲這與你如何填充結果有關。你看看alert(result.toString())嗎?只是爲了看看你在推入數據塊。 – Churk 2012-02-24 14:54:43