2012-02-24 88 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