【问题标题】:Highcharts update at specific time intervalHighcharts 在特定时间间隔更新
【发布时间】:2016-06-16 22:02:41
【问题描述】:

我在从 MySQL 表提供的 div 标记中有 HighCharts。我通过使用 PHP 并转换 JSON 来获取这些数据。

<?php
$query = "some query here ";
$result = $conn->query($query);

if (!$result) {
  echo "Could not successfully run query ($query) from DB: " . mysql_error();
  exit;
}

if (mysqli_num_rows($result) == 0) {
  echo "No rows found, nothing to print so am exiting";
  exit;
}

//array
$table = array();

while($row= mysqli_fetch_assoc($result)) {
  $table[] =$row;
};

$jsonTable= json_encode($table)
?>

我可以使用这个正确地看到图表:

$(function () {

var chartData = <?php echo $jsonTable ?>;

var seriesA = [];
var seriesB = [];


for (i=0; i<chartData.length; i++){

tempDate = Date.parse(chartData[i].ctime);
seriesA.push([Date.parse(chartData[i].ctime), parseInt(chartData[i].totalKbpsin)]);
seriesB.push([Date.parse(chartData[i].ctime), parseInt(chartData[i].totalKbpsout)]);

};

但是,我想用新数据每 1 小时更新一次图表。 我该怎么做?

【问题讨论】:

  • 在小提琴中更好地展示问题
  • 我该怎么做?因为我没有在代码中遇到任何失败。我需要一些人来显示方法或提示。
  • 其实不是。因为我需要用新的 json 数据重绘该图
  • 以下 Stack Overflow 问题可能会有所帮助,并为您提供一些尝试的想法:1) stackoverflow.com/questions/14051795/…, 2) stackoverflow.com/questions/16354306/…
  • 您需要更具体地说明您需要帮助的部分。您需要一些测量时间的方法,以及一些在需要时触发更新的方法。那么,你有什么,你需要什么帮助?

标签: javascript php json highcharts


【解决方案1】:

解决了!
为了在特定的时间间隔内刷新数据,我选择调用另一个 PHP 页面,输出仅为 JSON 数据。

然后,usnig setInterval 解决了我的问题。

代码如下:

function DrawContainerJson () {
        var seriesA = [];
        var seriesB = [];

        var url =  "https://domain.name/test/json.php";
        $.getJSON(url,  function(chartData) {
            // loop through the JSON data and push to the temporary series
            for (i=0; i<chartData.length; i++){
                tempDate = Date.parse(chartData[i].ctime);
                seriesA.push([Date.parse(chartData[i].ctime), parseInt(chartData[i].totalKbpsin)]);
                seriesB.push([Date.parse(chartData[i].ctime), parseInt(chartData[i].totalKbpsout)]);
            };

            var opt = SetChartOption(seriesA, seriesB);
            $('#container_json').highcharts(opt);
        });
    }


    $(document).ready(function() {              
        DrawContainerJson();
        //Refresh
        setInterval(function(){
            DrawContainerJson();
        },60000);  //1 min refresh
            });

问候,

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-18
    • 1970-01-01
    • 1970-01-01
    • 2018-02-20
    • 2017-05-10
    • 1970-01-01
    • 1970-01-01
    • 2014-02-24
    相关资源
    最近更新 更多