【问题标题】:How to read and write data from mysql to JSON and then use for google table chart如何从mysql读取数据并将数据写入JSON,然后用于google table chart
【发布时间】:2014-09-02 05:34:33
【问题描述】:

我在 mysql 数据库中有员工表 表列作为.. 员工号 姓名 销售...等 我正在创建自定义查询页面..用户将在 textarea 中键入查询,然后单击提交按钮..我想根据用户请求的列从 mysql 检索数据并希望显示谷歌图表。

我尝试过 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;
?>

请就此提出建议,因为我没有得到表格图表

【问题讨论】:

    标签: php mysql json


    【解决方案1】:

    尝试改变

    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 数据参数。

    【讨论】:

      猜你喜欢
      • 2019-08-25
      • 2016-01-18
      • 1970-01-01
      • 2017-10-13
      • 2017-12-14
      • 2018-10-04
      • 1970-01-01
      • 2021-08-22
      • 1970-01-01
      相关资源
      最近更新 更多