У вас есть личный проект мониторинга температуры, который регистрирует все температуры в отдельных комнатах дома в базе данных mysql, и на днях я наткнулся на highstock/charts и играл с ним, но я не могу похоже, заставить его работать с несколькими сериями данных.ошибка печати нескольких рядов данных на highstock
как данные регистрируются в таблице;
< даты и времени - (например, 2013-07-18 15:52:26) время будет отличаться для каждого датчика для каждого местоположения
< местонахождения - 6 (гостиной, кухни, столовой, за пределами , мастер, запасные)
< температура - (например, 12,34)
Какая запись выглядит как в MySQL. 2013-07-18 15:52:26/master/12.34
Мне удалось заставить все это работать для набора данных, но я не уверен, что мне нужно делать, и как наилучшим образом будет отформатируйте запрос json и mysql, чтобы высокопроизводительные диаграммы могли считывать данные json/mysq и отображать ВСЕ 6 данных о температуре на одном графике.
Полный код; Основной файл диаграммы высот. http://pastebin.com/XWkThfc8, и это файл, который генерирует JSON из базы данных mysql. http://pastebin.com/RXBFr24P
Это то, что в настоящее время он выглядит как для одного набора данных с использованием вышеуказанных запросов .... [1374593356000,17.31], [1374593427000,17.25], [1374593497000,17.31], [1374593567000,17.31], [ 1374593638000,17.31], [1374593708000,17.25], [1374593778000,17.25], [1374593849000,17.25], [1374593919000,17.25], [1374593989000,17.25], [1374594060000,17.25], [1374594130000,17.25] .... и т.д.
Так что мои вопросы;
Каков наилучший способ изменить это, чтобы он отображал все данные, в настоящий момент он не работает;
mysql_select_db("mqtt", $con);
$return_arr = array();
$fetch = mysql_query("SELECT timeof, message FROM temperatures WHERE DATE(timeof) BETWEEN DATE_SUB(CURDATE(), INTERVAL 7 DAY) AND CURDATE() AND locationmap = 'master'");
$i=0;
while ($row = mysql_fetch_array($fetch, MYSQL_ASSOC)) {
$rows[$i]=array(strtotime($row[timeof])*1000 ,(float)$row[message]);
$i++;
}
echo json_encode($rows);
Я предполагаю, что для множества наборов данных это должно быть в этом формате.
[{name: 'kitchen', dat a: [[date, temp], [date, temp], [date, temp]]}, {name: 'lounge', a a: [[ date, temp], [date, temp], [date, temp]]}]
Не знаете, как изменить мой запрос, чтобы он извлекал данные для ВСЕХ местоположений, а затем правильно кодировал их.
UPDATE-1
Последний код,
$return_arr = array();
$fetch = mysql_query("SELECT timeof, locationmap AS location, message AS temp FROM temperatures WHERE DATE(timeof) BETWEEN DATE_SUB(CURDATE(), INTERVAL 1 DAY) AND CURDATE() ORDER BY location, timeof ASC");
$i=0;
while ($row = mysql_fetch_array($fetch, MYSQL_ASSOC)) {
$rows[$i]=array(strtotime($row[timeof])*1000 ,(float)$row[temp],$row[location]);
$i++;
}
echo json_encode($rows);
Однако он не возвращает правильный формат, как указано выше.
Выходит так. (Очевидно, что есть 1000.)
[1375272426000,22.63,"cupboard"],[1375272496000,22.69,"cupboard"],[1375272566000,22.75,"cupboard"],[1375272637000,22.75,"cupboard"],[1375272707000,22.69,"cupboard"],[1375272777000,22.63,"cupboard"],[1375106429000,17.69,"kitchen"],[1375106500000,17.69,"kitchen"],[1375106570000,17.63,"kitchen"],[1375106640000,17.63,"kitchen"],[1375106711000,17.63,"kitchen"],[1375106781000,17.63,"kitchen"],[1375106851000,17.63,"kitchen"],[1375106921000,17.56,"kitchen"],[1375106992000,17.56,"kitchen"],[1375107062000,17.56,"kitchen"],[1375107132000,17.56,"kitchen"],[1375107203000,17.56,"kitchen"],[1375107273000,17.5,"kitchen"],[1375107343000,17.5,"kitchen"],[1375107413000,17.5,"kitchen"]
Я думаю, что мой запрос сейчас прав! просто нужна помощь с выходом json!
ДОПОЛНЕНО-2 Thx на форумах Highcharts, это формат, мне нужно JSON в, просто нужна помощь с PHP/MySQL стороне ...
[{
name: 'kitchen',
data: [
[time, value],
[time, value]
]
}, {
name: 'attic',
data: [
[time, value],
[time, value]
]
}]
ДОПОЛНЕНО-3 Получил это, работая с несколькими данными серии, не relise, я должен был вызвать мой json php script несколько раз, поставил два файла в GIST для тех, у кого есть похожие проблемы.
https://gist.github.com/matbor/8854385 https://gist.github.com/matbor/8853902
Привет всем, может ли кто-нибудь помочь мне с правильным синтаксисом, для query и json output, я думаю, что это просто нуждается в некоторой настройке, но я новичок в этом, и я искал поисковые запросы и пробовал разные вещи без большой удачи. –