Озадачился тут тоже вопросом с MYSQL.
Была задача вывести все значения свойства объекта.
Делюсь.
В phpmyadmin находим VALUE_ID свойства, которе надо выводить.
Ищем свойства в pvalues потом в phistory
Делаем страничку logger.php
Туда втыкаем:
Код: Выделить всё
<?php
$host = 'localhost'; // Хост, у нас все локально
$user = 'root'; // Имя созданного вами пользователя
$pass = 'mypassword'; // Установленный вами пароль пользователю
$db_name = 'db_terminal'; // Имя базы данных
$link = mysqli_connect($host, $user, $pass, $db_name); // Соединяемся с базой
// Ругаемся, если соединение установить не удалось
if (!$link) {
echo 'Не могу соединиться с БД. Код ошибки: ' . mysqli_connect_errno() . ', ошибка: ' . mysqli_connect_error();
exit;
}
$sql = mysqli_query($link, 'SELECT ADDED,VALUE FROM phistory WHERE VALUE_ID=2405 ORDER BY ADDED DESC LIMIT 0,100');
// тут написано - выбираем поля ADDED и VALUE из таблицы phistory для свойства с VALUE_ID=2405 сортируем по столбцу ADDED в обратном порядке и выводим с 0 значения последние 100
while ($result = mysqli_fetch_array($sql)) {
echo '<p style="color: white">' . "{$result['ADDED']}: {$result['VALUE']}<br>" . '</p>' ;
}
Во результату получится страница значений в столбик, типа как история.
Я использую, например, если нужно чтобы какой-то модуль писал логи. Например ESPшка отсылает по окончании инициализации
Код: Выделить всё
#if DEBUG == 1
sprintf(buf, "GET /objects/?object=Logger&op=m&m=commandReceived&value=EndSetup");
sendHTTPRequest();
#endif
В методе commandReceived пишем
После этого можно смотреть лог работы устройства просто выведя все значения из mysql.
Можно вывести в файл.
добавить INTO OUTFILE 'logger.csv'
SELECT ADDED,VALUE FROM phistory WHERE VALUE_ID=2405 ORDER BY ADDED DESC INTO OUTFILE '/var/lib/mysql-files/logger.csv'
/var/lib/mysql-files/ - обычно директория, куда MYSQL имеет право писать файлы. Только предварительно дайте этой директории права 777
Гуру, поправьте, плиз, код, точно знаю, что можно уйти от логина/пароля.