2014-09-02 40 views
0

我有职员表中的MySQL数据库 表的列.. EMPNO 的ename 萨尔...等 我创建自定义查询页面..用户将在textarea中键入查询,然后单击提交按钮..我想根据用户请求的列从MySQL中检索数据,并希望显示谷歌图表表格。如何读写从MySQL数据,JSON,然后使用谷歌表图表

我通过JSON尝试,但没有运气

下面的代码是我做了什么......

<form action="fire.php" id="usrform" method="post" target="iframe1"> 
    <p> Enter custom query here...</p> 
    <textarea name="query" form="usrform" wrap="hard soft" cols="60" rows="10"></textarea>     <br> 
    <input type="submit" value="Fire Query"> 
</form> 

消防PHP页面...

$con = mysqli_connect($db_host,$db_username,$db_pass) or die ("could not connect to mysql"); 

mysqli_select_db($con,$db_name) or die ("no database"); 
//query all records from the database 
$query=$_POST['query']; 
$returnArray = array(); 
$result = mysqli_query($con,$query); 
while($rs = mysqli_fetch_array($result, MYSQL_ASSOC))  
{  
$returnArray[] = $rs;  
} 
$fp = fopen('sampledata.json', 'w+'); 
fwrite($fp, json_encode($returnArray)); 
fclose($fp); 
} 
?> 
<script type="text/javascript" src="https://www.google.com/jsapi"></script> 
      <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 
      <script type="text/javascript"> 

      // Load the Visualization API and the piechart package. 
      google.load('visualization', '1', {'packages':['table']}); 

      // Set a callback to run when the Google Visualization API is loaded. 
      google.setOnLoadCallback(drawChart); 

      function drawChart() { 
       var jsonData = $.ajax({ 
        url: "getdata.php", 
        dataType:"json", 
        async: false 
        }).responseText; 

       // Create our data table out of JSON data loaded from server. 
       var data = new google.visualization.DataTable(jsonData); 

       // Instantiate and draw our chart, passing in some options. 
       var chart = new google.visualization.Table(document.getElementById('chart_div')); 
       chart.draw(data, {width: 700, height: 400}); 
      } 
      </script> 
      <div id="chart_div"></div> 
      </html> 

访问getdata.php

<?php 
$string = file_get_contents("sampledata.json")`enter code here`; 
echo $string; 
?> 

请指教如我没有收到表的图表

回答

0

尝试改变

var jsonData = $.ajax({ 
       url: "getdata.php", 
       dataType:"json", 
       async: false 
       }).responseText; 

在喜欢的东西

var jsonData; 
var request = $.ajax({ 
    url: "getdata.php", 
    dataType:"json", 
    async: false, 
    type: "GET" 
}); 

request.done(function(msg) { 
    jsonData = $.parseJSON(msg.d); 
    var data = new google.visualization.DataTable(jsonData); 

    // Instantiate and draw our chart, passing in some options. 
    var chart = new google.visualization.Table(document.getElementById('chart_div')); 
    chart.draw(data, {width: 700, height: 400}); 
}); 

,它会建议增加一个功能,用JSON也许调用图表数据参数。