С определенного момента, для вывода накопленной информации стала использоваться не непосредственная генерация страницы с данными, а получение данных в JSON-формате. Это позволило унифицировать страницу stat1 в общую концепцию сайта, сделать ее тело полностью реализованным на основе HTML+JavaScript и отказаться от плагинов.
Для работы JSON написан скрипт get.php. Он возвращает массив данных. Причем скрипт работает в 2х режимах: обычный HTML и JSON. При этом есть еще и дополнительные параметры, такие как прореживание данных (вывод только каждой N-ой строки файла) и объем чтения в байтах, это количество последних байт файла, которые будут прочитаны. Второй параметр актуален для работы с CSV-файлами, для SQL-таблиц было бы логичнее использовать фильтр по конкретным меткам времени.
В режиме HTML можно протестировать и посмотреть данные, к примеру запрос: igorkov.org/get.php?file=temp1&last=256&thinning=1, выведет такие данные:
Если добавить параметр "callback", можно получить следующий вывод:
?([["1447769967","22.8","99760","0.0","99.9"],["1447770035","22.8","99758","0.0","99.9"], ["1447770103","22.8","99756","0.0","99.9"],["1447770170","22.8","99760","0.0","99.9"], ["1447770238","22.8","99766","0.0","99.9"],["1447770306","22.8","99772","0.0","99.9"], ["1447770373","22.7","99774","0.0","99.9"]])
Весь код общения с данным скриптом на стороне клиента можно увидеть в исходниках страницы вывода. Чтение данных производится непосредственно данным кодом:
$(document).ready(function() { var url = "http://igorkov.org/get.php?callback=?"; var data = { file: "temp1", // имя файла с данными last: 100000, // учитываем последние 10000 байт файла, получается около 2-3 суток thinning: 10, // берем каждое 10 показание из лога }; $.getJSON(url, data, function(data) { // Данная функция вызывается для каждой строки возвращенных данных. // Сами данные в массиве data. }); });