Графики в реальном времени с помощью flot, mysql, php - PullRequest
0 голосов
/ 28 июля 2010

Я пытаюсь нарисовать график в реальном времени, так как моя таблица mysql постоянно вставляется со значениями, как движущийся график, на который ссылаются из http://kalanir.blogspot.com/2009/11/how-to-plot-moving-graphs-using-flot.html Фактические значения поступают от датчика углекислого газа, который обновляет значение таблицы значениями co2 с позициями id . Я изменил ее Math.Random на код ниже:

<?php $result = mysql_query("SELECT * FROM node1 ORDER BY id DESC LIMIT 1")or die(mysql_error());?>
<?php $row = mysql_fetch_array( $result );?>

var j = "<?php echo $row['co2'];?>";
var next = "<?php echo $row['id'];?>";

for (var i = 0; i < this.xscale - 1; i++) 
{  
  this.array[i] = [i,this.array[i+1][1]];  // (x,y)  
}   
this.array[this.xscale - 1] = [this.xscale - 1,j]; 

Однако, когда я запускаю этот код, первое значение изменяется, после чего оно остается постоянным, даже если последняя строка таблицы обновляется. Я слышал это потому, что в php сервер опрашивается только один раз. Поэтому я получаю только постоянное чтение первых данных. Есть ли способ, которым я могу обновить график до последнего значения таблицы? с ajax?

Спасибо за вашу помощь

Ответы [ 2 ]

2 голосов
/ 28 июля 2010

Да, вы можете использовать Периодическое обновление (опрос) или же Потоковое HTTP .

Обратите внимание, что обе эти опции могут быть весьма требовательны к пропускной способности.

0 голосов
/ 28 августа 2010

вы должны сделать какой-то опрос. Но даже прежде чем ты это сделаешь, 1. Создайте php-файл, который получает все важные данные из БД. 2. пусть этот файл отображает / возвращает эти данные в отформатированном виде. 3. иметь функцию опроса js этого файла через определенные промежутки времени (функция, которая запускается в setInterval ())

и да .. были бы некоторые проблемы с полосой пропускания, но я думаю, что это решаемо.

...