我一直在寻找类似的问题几个小时,但无济于事。
我正在使用 Highcharts 每 3 秒更新一次图表,其中包含特定 MySQL 表的最后一个条目。我使用示例 Javascript 代码作为指导。这是我关心的代码片段
var chart;
$('#container').highcharts({
chart: {
type: 'spline',
animation: Highcharts.svg, // don't animate in old IE
marginRight: 10,
events: {
load: function() {
// set up the updating of the chart every 3 seconds
var series = this.series[0];
setInterval(function() {
var x = (new Date()).getTime(), // current time - adjust to align with data vals
y = getyval();
series.addPoint([x, y], true, true);
}, 3000);
...函数getyval()
使用的地方$.get()
:
function getyval(){
$.get('testget.php', function(output){
alert(parseFloat(output));
});
};
我的testget.php
文件:
<?php
session_start();
$db = $_SESSION['monitorId'];
$table = $_SESSION['tableId'];
$split_table = explode("_", $table);
$param = $split_table[1];
$dbcon = mysqli_connect("localhost","root","",$db);
$query = "SELECT * FROM ".$table." ORDER BY datetime DESC LIMIT 1";
$lastentry = mysqli_query($dbcon, $query) or die('error reading table');
$row = mysqli_fetch_array($lastentry, MYSQLI_ASSOC);
$yval = $row[$param];
echo $yval;
?>
这一切都很好,并且擅长每 3 秒“提醒”最后一个值,但是当我尝试将变量分配y
给这个结果时,它不起作用。例如,如果我将getyval()
函数更改为:
function getyval(){
$.get('testget.php', function(output){
return parseFloat(output);
});
};
提前致谢!