我在 mysql 数据库中有员工表 表列如.. 雇员号 埃纳姆 萨尔...等 我正在创建自定义查询页面..用户将在文本区域中输入查询,然后单击提交按钮..我想根据用户请求的列从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;
?>
请就此提出建议,因为我没有得到表格
最佳答案
尝试改变
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 数据参数。
关于php - 如何从mysql读取和写入数据到JSON,然后用于谷歌表格图表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25616517/