2009-11-07 109 views
0

我想創建一個MySql數據庫中的一些數據的GViz,我有問題。谷歌可視化Api + SQL

這是迄今爲止來源:

<?php 
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error 
connecting to mysql'); 
mysql_select_db($dbname); 
$int_y_pos = -1; 
$int_y_step_small = 1; 
$sql = "SELECT * from table')"; 
$sql = mysql_query($sql); 
$rownum = mysql_num_rows($sql); 
?> 
<html> 
    <head> 
    <script type="text/javascript" src="http://www.google.com/jsapi"></ 
script> 
    <script type="text/javascript"> 
     google.load("visualization", "1", {packages: 
["table"]}); 
     google.setOnLoadCallback(drawData); 
     function drawTable() { 
     var data = new google.visualization.DataTable(); 
     data.addColumn('string', 'column1'); 
     data.addColumn('string', 'column2'); 
<?php 
echo "  data.addRows($rownum);\n"; 
while($row = mysql_fetch_assoc($sql)) { 
     $int_y_pos += $int_y_step_small; 
     echo "  data.setValue(" . $int_y_pos . ", 0, new column1(" . 
$row['column1'] . "));\n"; 
     echo "  data.setValue(" . $int_y_pos . ", 0, new column2(" . 
$row['column2'] . "));\n"; 
} 

?> 
    var table = new google.visualization.Table(document.getElementById('table_div')); 
    table.draw(data, {showRowNumber: true}); 

    google.visualization.events.addListener(table, 'select', function() { 
    var row = table.getSelection()[0].row; 
    alert('You selected ' + data.getValue(row, 0)); 
    }); 
} 
</script> 
    </head> 
    <body> 
    <div id="table_div" style="width: 940px; height: 240px;"></div> 
    </body> 
</html> 

任何幫助或上一個上集成的例子將是巨大的。

感謝

加雷思

回答

0

謝謝你的偉大的劇本,不管是誰,並沒有爲我工作...

我改成了這個樣子。

$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error connecting to mysql'); 
mysql_select_db($dbname); 
$int_y_pos = -1; 
$int_y_step_small = 1; 
$sql = "SELECT * from cache"; 
$sql = mysql_query($sql); 
$rownum = mysql_num_rows($sql); 
?> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
    <meta http-equiv="content-type" content="text/html; charset=utf-8"/> 
    <title> 
     Google Visualization API Sample 
    </title> 
    <script type="text/javascript" src="http://www.google.com/jsapi"></script> 
    <script type="text/javascript"> 
     google.load('visualization', '1', {packages: ['table']}); 
    </script> 
    <script type="text/javascript"> 
    function drawVisualization() { 
     // Create and populate the data table. 
     var data = new google.visualization.DataTable(); 
     data.addColumn('string', 'col1'); 
     data.addColumn('string', 'col2'); 
<?php 
echo "  data.addRows($rownum);\n"; 
while($row = mysql_fetch_assoc($sql)) { 
     $int_y_pos += $int_y_step_small; 
     echo "  data.setCell(" . $int_y_pos . ", 0,'". $row['col1'] . "');\n"; 
     echo "  data.setCell(" . $int_y_pos . ", 1,'" . $row['col2'] . "');\n"; 
} 

?> 
// Create and draw the visualization. 
     visualization = new google.visualization.Table(document.getElementById('table')); 
     visualization.draw(data, null); 
    } 


    google.setOnLoadCallback(drawVisualization); 
    </script> 
    </head> 
    <body style="font-family: Arial;border: 0 none;"> 
    <div id="table"></div>     
    </body> 
</html> 
1

好這個工作對我來說:的 1套頭爲你的餐桌

<?php 
    $dataTable = array(
    'cols' => array(
     // each column needs an entry here, like this: 
     array('type' => 'string', 'label' => 'Col1'), 
     array('type' => 'string', 'label' => 'Col2'), 
     array('type' => 'string', 'label' => 'Col3') 
    ) 
); 

然後設置行的同時

while($row = mysql_fetch_array($result)) { 
    $dataTable['rows'][] = array(
    'c' => array(
      array('v' => $row['DB-col1']), 
      array('v' => $row['DB-col2']), 
      array('v' => $row['DB-col3']) 
      ) 
    ); 

編碼到JSON:

 $json = json_encode($dataTable);?> 

然後加載cont並將其顯示爲表格:

function drawTable() { 
    var data = new google.visualization.DataTable(<?php echo $json; ?>); 
    var table = new google.visualization.Table(document.getElementById('your-div-id')); 
    table.draw(data); 
    }