Доброго дня! К сути: есть база данных "mqtt", таблица "topics" в ней. В базу каждую минуту посредством MQTT прилетают данные от esp8266 с показаниями температуры (топик tempinroom) и влажности (топик huminroom) в комнате; и записываются в таблицу. Вид таблицы "topics" следующий:
+----+---------------------+------------+-------+
| id | time | topic | value |
+----+---------------------+------------+-------+
| 1 | 2018-09-02 12:27:13 | tempinroom | 24.2 |
| 2 | 2018-09-02 12:27:13 | huminroom | 56.8 |
| 3 | 2018-09-02 12:28:13 | tempinroom | 24 |
| 4 | 2018-09-02 12:28:13 | huminroom | 57.5 |
| 5 | 2018-09-02 12:29:13 | tempinroom | 23.9 |
+----+---------------------+------------+-------+
Сейчас озадачился построением графика изменений этих параметров с помощью HighCharts. График одной из величин (любой) построить удается. Для этого формируется файл json.php следующего содержания:
<?php
date_default_timezone_set('UTC');
$link = mysqli_connect('localhost', "***", '***');
if (!$link)
echo ("Ошибка соединения с базой данных");
mysqli_select_db($link, "mqtt") or die("Невозможно открыть базу данных");
$result = mysqli_query($link,
'SELECT id,time,topic,value FROM `topics` WHERE topic = "tempinroom"');
while ($i = mysqli_fetch_row($result))
{
$all[] = array(strtotime($i[1]), (float)$i[3]);
}
echo json_encode($all);
mysqli_close($link);
?>
На выходе получаем массив вида
[[1535891233,24.2],[1535891293,24],[1535891353,23.9]]
т.е. в массиве есть только время в Unix-формате и значение (в данном случае - температуры).
Вопрос: каким образом получить массив вида
[[time1, tempinroom1, huminroom1],[time2, tempinroom2, huminroom2]]
Время записи пары значений - влажности и температуры - одинаково, как можно видеть по таблице. Быть может, решение где-то на поверхности, но опыта у меня пока мало. Ломаю голову уже 3 дня, гугл перегуглил)