Re: "Живые" графики нужна помощь.
Добавлено: Пн сен 22, 2014 2:19 pm
после вышеописанного в руках будет "удочка", которая поможет строить любые графики.
как я понимаю это не поможет - это не "живые" графики. см. стр.1 этой темы.dmw писал(а):Почемуто мне кажется это всем поможет:
http://smartliving.ru/Main/WizardGraphics
Чего-то вы не договариваете. На предыдущей странице Вы сами приводили код страницы. Поменяйте имя переменной Moscow.Temp на свою SensorMovement1.statusPAV писал(а):Блииин. Ну не мудрите, пожалуйста. Вот есть данные датчика движения например. SensorMovement1.status.
Что нужно сделать, чтобы получить график его срабатывания? Какой код? Какие действия.
Пожалуйста, всем будет полезно.
Папки разархивировал и вставил.
Код: Выделить всё
sensornames = ['1',
'2',
'3',
'4',
'5'];
Код: Выделить всё
sensornames = ['SensorMovement1.status',
'SensorMovement2.status',
'SensorMovement3.status',
'SensorMovement4.status',
'SensorMovement5.status'];
Код: Выделить всё
<?php
$name = "MIN";
if (isset($_GET['name'])) $name="".$_GET['name'];
$d=preg_match('/(.+)\.(.+)/is', $name, $m);
$object_id = $m[1];
$rcn = mysql_connect("localhost","root","");
mysql_select_db("db_terminal");
$sqlstr="SET SESSION time_zone = '-0:00'";
$res=mysql_query($sqlstr);
$sqlstr="SELECT * FROM `objects` WHERE `TITLE`='{$object_id}'";
$res=mysql_query($sqlstr);
while ($row=mysql_fetch_array($res)) {
$object_id=$row['ID'];
$class_id = $row['CLASS_ID'] ;
};
$sqlstr="SELECT * FROM `properties` WHERE CLASS_ID=$class_id AND `TITLE`='{$m[2]}'";
$res=mysql_query($sqlstr);
while ($row=mysql_fetch_array($res)) {
$property_id=$row['ID'];
};
$sqlstr="SELECT * FROM `pvalues` WHERE PROPERTY_ID=$property_id AND `OBJECT_ID`=$object_id";
$res=mysql_query($sqlstr);
while ($row=mysql_fetch_array($res)) {
$value_id=$row['ID'];
};
$sqlstr = "SELECT UNIX_TIMESTAMP(`ADDED`) as `ADDED` , `VALUE` FROM `phistory` WHERE `VALUE_ID`=$value_id ORDER BY added";
$res = mysql_query($sqlstr);
$number = mysql_num_rows($res);
printf("[");
$first = false;
$old_ADDED=0;
if ($number > 0)
{
while ($row=mysql_fetch_array($res)) {
$cur_ADDED=$row['ADDED'];
if ($old_ADDED!=$cur_ADDED ){
if ($first) printf(",");
printf("[");
printf($row['ADDED']*1000);
printf(", ");
printf($row['VALUE']+$delta);
printf("]");
$old_ADDED=$row['ADDED'];
$first = true;
}
}
}
printf("]");
mysql_close();
?>
Код: Выделить всё
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Highstock Example</title>
<script type="text/javascript" src="/highcharts/js/jquery-1.7.1.min.js"></script>
<script type="text/javascript" language="javascript">
var cnt = 0, seriesOptions = [], names = ['темп 1',
];
sensornames = ['sensorMovement1.status',
];
createAll();
function createAll() {
cnt = 0;
$.each(names, function(i, name) {
// alert(sensornames[i]);
url = '/highcharts/mytest.php?name='+sensornames[i]
// alert (url);
$.getJSON(url, function(data) {
seriesOptions[i] = {name: name,
data: data,
tooltip: { yDecimals: 1}};
cnt++;
if (cnt == names.length) {
// alert('======');
createChart();
}
});
});
}
function createChart() {
Highcharts.setOptions({
lang: {
months: ['Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль',
'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь'],
shortMonths: ['Янв', 'Фев', 'Мар', 'Апр', 'Май', 'Июн', 'Июл',
'Авг', 'Сен', 'Окт', 'Ноя', 'Дек'],
weekdays: ['Вск', 'Пнд', 'Втр', 'Срд', 'Чтв', 'Птн', 'Сбт']
}
});
window.chart = new Highcharts.StockChart({
chart : { renderTo : 'container',
zoomType: 'xy'
},
title : { text : 'График температур'},
legend: { enabled : true ,
layout : 'horizontal',
align : 'center',
verticalAlign : 'top',
x : 0,
y : 20
},
xAxis : { maxZoom : 1 * 24 * 36000 },
series : seriesOptions
});
}
</script>
</head>
<body>
<script src="./js/highstock.js"></script>
<script src="./js/modules/exporting.js"></script>
<div id="container" style="height: 500px; min-width: 500px"></div>
</body>
</html>