Flot.js с php и mysql не работает со временем

У меня есть система, пытающаяся отобразить график счета во времени, используя flot js. Проблема, с которой я столкнулся, заключается в том, что график фактически не отображает какие-либо линии. Я перевел время на UTC и умножил на 1000, как предлагалось в других постах, но безрезультатно. Кто-нибудь знает, что я делаю не так?

PHP:

public function liveGraphAjax()
{
$query = "SELECT
time as time,
COUNT( id ) as count
FROM table
WHERE HOUR( TIME ) = HOUR( CURRENT_TIME ) -1
GROUP BY DATE_FORMAT(`time`, '%H:%i')";
$result = DB::select($query);

if(isset($result))
{
$temp = array();
foreach ($resultas $row )
{
$temp [] = array(
'time' =>strtotime($row->time) * 1000,
'count' =>(int) $row->count,
);
}
}

return Response::json($temp);
}

JS:

var options = {
colors : [$UpdatingChartColors],

xaxis: {
mode: "time",
timeformat:"%hh:%mm"},
series: {
lines: { show: true },
points: { show: true }
},
};

$("button.dataUpdate").click(function ()
{
data = [];

$.plot("#updating-chart", data, options);

function fetchData()
{

function onDataReceived(series)
{
var res = [];
data = [series];

for (var i = 0; i < data[0].length; ++i)
{
res.push([data[0][i].time,data[0][i].count]);
}

console.log(res);
$.plot("#updating-chart", res, options);
}

$.ajax({
url: "liveGraphAjax",
type: "GET",
dataType: "json",
success: onDataReceived
});

}

});

0

Решение

  1. fetchData() Функция никогда не вызывается, поэтому вы никогда не получите данные.
  2. В вашем onDataReceived() функционировать res Переменная содержит только один ряд данных. Вы должны изменить свой звонок на $.plot("#updating-chart", [res], options);
1

Другие решения

Других решений пока нет …