Сделан динамический highstock с данными PHP - PullRequest
0 голосов
/ 12 сентября 2018

Я сделал динамический highstock (highchart) как этот пример , но с данными из PHP.Я попробовал свой код, но результаты не появились.Как сделать динамический highstock с помощью PHP?

Код PHP:

<?php 

include("connection.php");

$data = array();
$count = 0;
$result = mysqli_query($koneksi,"SELECT * FROM data ORDER BY time ASC ") or die ("Connection error");
while($row = mysqli_fetch_array($result)) {
$x = strtotime($row['time']) * 1000; 
$y =    (float)$row['temperature'];
$data[] = array($x, $y);
$count++;
}
echo json_encode($data);
mysqli_close($koneksi);
?>

JSON из PHP:

[[1535981121000,40],[1535981432000,32.9],[1535981492000,32.7],[1535981552000,32.6],[1535981618000,32.6],[1535981672000,32.6],[1535981732000,32.6],[1535981793000,32.6],[1535981854000,32.6],[1535981913000,32.5],[1535981993000,32.4],[1535982034000,32.4],[1535982215000,32.4],[1535982287000,32.3],[1535982335000,32.3],[1535982396000,32.5],[1536576266000,45.2],[1536579542000,62.2],[1536653234000,30.2]]

Код Javascript:

<script type="text/javascript">
    var chart;  
function requestData() {
    $.ajax({
        url: 'chartTemp.php',
        success: function(point) {
            var series = chart.series[0],
                shift = series.data.length > 20; 

            // add the point
            chart.series[0].addPoint(point, true, shift);

            // call it again after one second
            setTimeout(requestData, 1000);    
        },
        cache: false
    });
}   
document.addEventListener('DOMContentLoaded', function() {  
    chart = Highcharts.stockChart('container', {
    chart: {
        events: {
            load: requestData
        }
    },

    time: {
        useUTC: false
    },

    rangeSelector: {
        buttons: [{
            count: 1,
            type: 'minute',
            text: '1M'
        }, {
            count: 5,
            type: 'minute',
            text: '5M'
        }, {
            type: 'all',
            text: 'All'
        }],
        inputEnabled: true,
        selected: 0
    },

    title: {
        text: 'Live random data'
    },

    exporting: {
        enabled: true
    },

    series: [{
        name: 'Random data',
        data: data[]
    }]
});

    </script>

Я изменил код JavaScript выше из этого примера

1 Ответ

0 голосов
/ 12 сентября 2018

Вы тоже отсутствуют,

// Set the JSON header (in .php)
header("Content-type: text/json");

Или как,

$.ajax({
method: "GET",
  url: "test.js",
  dataType: "json"
});

Также у вас есть некоторые синтаксические ошибки, в конце кода JavaScript, добавленного ниже (для подтверждения проверки в окне консоли браузера),

)};

Ваш вызов ajax возвращает все точки в одном json, но функция, которую вы вызываете, выглядит как не принимающая, поэтому проверьте еще раз,

// add the point  
chart.series[0].addPoint(point, true, shift);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...