====== АННОТАЦИЯ ====== В данном программном документе приведёно текст программы системы сбора, обработки и хранения результатов измерения (далее система), предназначенной для сохранения и предоставления любых наборов переданных данных, а в частности – с учебных устройств, разработанных на кафедре ПМиВТ МФ МГТУ им. Н. Э. Баумана. ====== ПРОГРАММНЫЙ КОД ВЕБ-ПРИЛОЖЕНИЯ ====== ===== Корневой каталог веб-приложения ===== query("$query"); if(!$result) { die("Wrong query!"); } else { $t_mas = array(); while($myrow = mysqli_fetch_array($result,MYSQLI_ASSOC)) { if(!in_array($myrow['Type'], $t_mas)) { array_push($t_mas, $myrow['Type']); } } rsort($t_mas); array_unshift($t_mas, "Unit","Date"); mysqli_data_seek($result, 0); $i = 0; $ss = -1; while($infrow = mysqli_fetch_array($result,MYSQLI_ASSOC)) { $nob = $infrow['Num']; if($ss != $nob) { $i++; $ss = $nob; } $mass[$i][array_search($infrow['Type'], $t_mas)] = $infrow['Value']; $mass[$i][array_search("Unit", $t_mas)] = $infrow['Unit']; $mass[$i][array_search("Date", $t_mas)] = $infrow['Date']; } unset($i); $title .= ''; for($i=0; $i'; } unset($i); for($i=1; $i'; } $max .= ''; } $list = $title.''.$max.''; echo ''.$list.'
'; } } mysqli_close($mysqli); ?>
---- Home page

Панель управления

Дебаг-монитор

Данные за интервал времени

---- Export page
Выберите как вы хотите получить результат

JSON лог-файл

Таблица данных

---- ===== Каталог export ===== {{ :doc:1513:standart_book.xlsx |}} ===== Каталог core ===== query("$inject"); if(!$result) { die("Empty result!"); } else { $t_mas = []; $v_mas = []; $i = -1; $ind = -1; $test = mysqli_fetch_array($result,MYSQLI_ASSOC); mysqli_data_seek($result, 0); if ($test['Num'] != NULL) { while($myrow = mysqli_fetch_array($result,MYSQLI_ASSOC)) { if($myrow['Num'][0] != $ind) { $i++; $ind = $myrow['Num'][0]; $t_mas[$i] .= 'Session number'.';'.$myrow['Type'].';'; $v_mas[$i] .= $myrow['Num'][0].';'.$myrow['Value'].';'; } else { $t_mas[$i] .= $myrow['Type'].';'; $v_mas[$i] .= $myrow['Value'].';'; } } for($n=0; $n < count($t_mas); $n++) { $text .= $t_mas[$n]."\r\n".$v_mas[$n]."\r\n\r\n"; } } else { $cnt = 1; while($myrow = mysqli_fetch_array($result,MYSQLI_ASSOC)) { foreach ($myrow as $key => $value) { if($cnt = 1){$title .= $key.';';} $v_string .= $value.';'; } $v_string .= "\r\n"; } $text = $title."\r\n".$v_string."\r\n\r\n"; } echo $text; } } mysqli_close($mysqli); ?> ---- query("SELECT DISTINCT `Type` FROM `save_data` sd INNER JOIN (SELECT `Num_i` FROM `info` WHERE `Prib_id` = $id ORDER BY `Num_i` DESC LIMIT 1) inf ON inf.Num_i = sd.Num WHERE (`Type` NOT LIKE 'system_%') AND (`Type` NOT LIKE '%addr')"); if(mysqli_num_rows($result)) { while($row = mysqli_fetch_array($result)) { $buff[] = array('title'=>$row['Type']); } $away = array('back'=>'success','sens'=>$buff); } else { $away = array('back'=>'error'); } print json_encode($away); } /* получение списка устройств */ if(isset($_GET['unitslist'])) { $result = $mysqli->query("SELECT uNum,uName,Serial FROM units_list"); while($rows = mysqli_fetch_array($result)) { $back .= ''; } print_r($back); } /* изменение данных о адресе датчика */ if(isset($_POST['update'])) { $upd = $_POST['update']; $str = ''; foreach ($upd as $headkey => $headvalue) { $str = "UPDATE `Production`.`sensors_adr` SET `".$headvalue[1]."`='".$headvalue[2]."' WHERE id=".$headvalue[0]; $mysqli->query("$str"); } } /* внесение нового датчика */ elseif(isset($_POST['insert'])) { $ins = $_POST['insert']; $columns = '`timestamp`,'; $values = 'NOW(),'; foreach ($ins as $key => $value) { $columns .= '`'.$value[0].'`,'; $values .= "'".$value[1]."',"; } $str = "INSERT INTO `Production`.`sensors_adr` ($columns) VALUES ($values)"; $str = str_replace(',)', ')', $str); $mysqli->query("$str"); } /* проверка наличие параметра адреса датчика и его значения в передаваемых устройством данных */ elseif(isset($_GET['unit_addr_exist'])) { $unit = $_GET['unit_addr_exist']; $result_array = array(); $away = array(); $text = "SELECT `sd`.`Num`,`sd`.`type`,`sd`.`value` FROM `Production`.`save_data` as `sd` INNER JOIN (SELECT `Num_i` FROM `Production`.`info` WHERE `Prib_id`='$unit' ORDER BY `Num_i` DESC LIMIT 1) inf ON `sd`.`Num` = `inf`.`Num_i` WHERE `sd`.`Type` LIKE '%addr'"; $result = $mysqli->query("$text"); if($result->num_rows) { while($row = mysqli_fetch_array($result,MYSQLI_ASSOC)) { $result_array[] = ['Type'=>str_replace('_addr','',$row['type']),'Val'=>$row['value']]; } $away = array('error'=>'false','data'=>$result_array); } else { $away = array('error'=>'true'); } echo json_encode($away); } ?> ---- ---- query("$qur"); mysqli_close($mysqli); $mass = array(); $buff = array(); $alt = array(); $i = -1; $n = -1; $searchindex = 0; while($row = mysqli_fetch_array($result,MYSQLI_ASSOC)) { $search = $row['uName'].','.$row['serial']; if(isset($mass[$search])) { $i = $mass[$search]; } else { ++$n; $i = $n; $mass[$search] = $i; } $buff[$i]['uName'] = $row['uName']; $buff[$i]['serial'] = $row['serial']; $alt[$i][$row['sensor']][] = ['datetime'=>$row['timestamp'],'data'=>json_decode($row['ratio'],false)]; $searchindex = array_search($row['sensor'], array_column($buff[$i]['sensors'],'sensor')); if ((false !== $searchindex) && isset($searchindex)) { $buff[$i]['sensors'][$searchindex] = ['sensor'=>$row['sensor'],'calibr'=>$alt[$i][$row['sensor']]]; } else { $buff[$i]['sensors'][] = ['sensor'=>$row['sensor'],'calibr'=>$alt[$i][$row['sensor']]]; } //$buff[$i]['sensors'][] = ['sensor'=>$row['sensor'],'calibr'=>['datetime'=>$row['timestamp'],'data'=>json_decode($row['ratio'],false)]]; } echo json_encode($buff,JSON_UNESCAPED_UNICODE); } /* --------------------------------------------------- */ /* Данные калибровки */ if(isset($_GET['calibration'])) { $line = 'SELECT mu.sensor,mu.timestamp,mu.ratio,li.uname as uName,li.Serial as serial FROM multiplier as mu INNER JOIN (SELECT uNum,uName as uname,Serial from units_list) as li ON li.uNum = mu.unit'; switch ($_GET['calibration']) { case 'full': // все данные break; case 'filtid': // данные устройства с указанным id $line .= ' WHERE mu.unit='.$_GET['id']; break; } finish($mysqli,$line); } /* --------------------------------------------------- */ /* Данные за интервал времени */ elseif (isset($_GET['manualmode'])) { $return = ''; $infile = ''; $t_mas = array(); $mass = array(); switch($_GET['manualmode']) { case 1: if((isset($_GET['fdate'])) && (isset($_GET['sdate'])) && (isset($_GET['unitid']))) { $fdate = $_GET['fdate']; $sdate = $_GET['sdate']; if(strtotime($sdate)>strtotime("now")): $sdate = date("Y-m-d H:i:s"); endif; if(strtotime($fdate)query("SELECT DISTINCT Type FROM save_data sd INNER JOIN (SELECT Num_i from info WHERE `Date` BETWEEN '$fdate' AND '$sdate' AND Prib_id = $unit) inf ON sd.Num = inf.Num_i WHERE (`Type` NOT LIKE 'system_%')"); $about = mysqli_fetch_array($mysqli->query("SELECT uName,Serial FROM units_list WHERE uNum = $unit")); $result = $mysqli->query(" SELECT sd.Type as Type,sd.Value as Value,li.Date as Date FROM `save_data` as sd INNER JOIN ( SELECT `Date`,`Num_i` FROM `info` WHERE (`Date` BETWEEN '$fdate' AND '$sdate') AND (Prib_id = $unit) ) as li ON sd.Num = li.Num_i WHERE (`Type` NOT LIKE 'system_%')",MYSQLI_USE_RESULT); $makeat = '../export/last_export.csv'; $fd = fopen($makeat, 'w'); $infile = 'Прибор: ;'.$about['uName'].' ('.$about['Serial'].'); ; Интервал: ;'.$fdate.'; / ;'.$sdate.";\n"; fwrite($fd,iconv('utf-8', 'windows-1251',$infile)); while($myrow = mysqli_fetch_array($list,MYSQLI_ASSOC)) // составление массива заголовков { if(!in_array($myrow['Type'], $t_mas)) { array_push($t_mas, $myrow['Type']); } } rsort($t_mas); array_unshift($t_mas,"Date"); unset($infile); for($i=0; $iСкачать таблицу'; } else { $return = 'Error'; } mysqli_close($mysqli); break; } echo $return; } elseif ((isset($_GET['fdate'])) && (isset($_GET['sdate']))) { $fdate = $_GET['fdate']; $sdate = $_GET['sdate']; if(strtotime($sdate)>strtotime("now")): $sdate = date("Y-m-d H:i:s"); endif; if(strtotime($fdate)>strtotime("now")): $fdate = '2019-01-24 17:31:43'; endif; $result = $mysqli->query("SELECT sd.Type,sd.Value,sd.Num,inf.Date,ul.uName,ul.Serial FROM save_data as sd INNER JOIN (SELECT `Num_i`, `date`, `Prib_id` FROM `info` WHERE `Date` BETWEEN '$fdate' AND '$sdate') as inf ON inf.Num_i = sd.Num INNER JOIN (SELECT DISTINCT `uName`,`uNum`,`Serial` FROM `units_list`) as ul ON ul.uNum = inf.Prib_id",MYSQLI_USE_RESULT); // выполнение запроса $first = mysqli_fetch_array($result,MYSQLI_ASSOC); $i = $first['Num']; /* формирование файла с результатом */ if(isset($_GET['fileback'])) { $makeat = '../export/log.txt'; $fd = fopen($makeat, 'w'); fwrite($fd, '{'); fwrite($fd,'"'.$i.'":{"Date":"'.$first['date'].'","uName":"'.$first['uName'].'","serial":"'.$first['Serial'].'","data":{"'.$first['Type'].'":"'.$first['Value'].'"'); while ($row = mysqli_fetch_array($result,MYSQLI_ASSOC)) { if($row['Num']!=$i) { $i = $row['Num']; fwrite($fd,'}},"'.$i.'":{"Date":"'.$row['date'].'","uName":"'.$row['uName'].'","serial":"'.$row['Serial'].'","data":{'); } else { fwrite($fd, ','); } fwrite($fd,'"'.$row['Type'].'":"'.$row['Value'].'"'); } fwrite($fd, '}}}'); echo 'Скачать log-файл'; } else /* возвращение результата как текста */ { echo '{'; echo '"'.$i.'":{"Date":"'.$first['date'].'","uName":"'.$first['uName'].'","serial":"'.$first['Serial'].'","data":{"'.$first['Type'].'":"'.$first['Value'].'"'; while ($row = mysqli_fetch_array($result,MYSQLI_ASSOC)) { if($row['Num']!=$i) { $i = $row['Num']; echo '}},"'.$i.'":{"Date":"'.$row['date'].'","uName":"'.$row['uName'].'","serial":"'.$row['Serial'].'","data":{'; } else { echo ','; } echo '"'.$row['Type'].'":"'.$row['Value'].'"'; } echo '}}}'; } mysqli_free_result($result); mysqli_close($mysqli); } ?> ---- query("SELECT `OPid` FROM `units_list` WHERE `uNum`='$unit_num'")); if($result != NULL) { foreach ($arr as $key => $value) { $mysqli->query("INSERT `Info`(`Date`,`Prib_id`,`OpNum`) VALUES (NOW(),$unit_num,$result[OPid])"); $lastid = mysqli_insert_id($mysqli); foreach ($value as $got => $it) { if($got!='AKey') { $word .= "('$lastid','$got','$it')"; } } if($word!='') { $str = 'INSERT `Save_data`(`Num`,`Type`,`Value`) VALUES '.$word; $query_str = str_replace(')(', '),(', $str); $mysqli->query("$query_str"); } $word = ''; } mysqli_close($mysqli); } else{} } elseif(isset($_POST)) // если пришёл пост извне { $inmass = file_get_contents('php://input'); $arr = json_decode($inmass,true); if($arr['system']['Akey']!==NULL) // ищем ключ в массиве с вложенностями { $Key = $arr['system']['Akey']; $done = $mysqli->query("SELECT `uNum`,`OPid`,`IDob`,`x`,`y` FROM `units_list` WHERE `AKey`='$Key'"); // если ключ есть в базе, то получаем информацию о приборе $result = mysqli_fetch_array($done); if($result!=NULL) { $str = 'INSERT `Save_data`(`Num`,`Type`,`Value`) VALUES '; $unit_num = $result[uNum]; $mysqli->query("INSERT `Info`(`Date`,`Prib_id`,`OpNum`,`ObjectId`,`x`,`y`) VALUES (NOW(),$unit_num,$result[OPid],$result[IDob],$result[x],$result[y])"); $lastid = mysqli_insert_id($mysqli); /* формирование названия параметра с учётом иерархие вложенности */ $path = array(); $it = new RecursiveIteratorIterator(new RecursiveArrayIterator($arr), RecursiveIteratorIterator::SELF_FIRST); foreach ($it as $key => $value) { $path = array(); if(!is_array($value) && $key != 'Akey') { for ($count = $it->getDepth()+1; $count && $count--;) { array_unshift($path, $it->getSubIterator($count)->key()); } $path = implode('_', $path); $str .= "('$lastid','$path','$value')"; } } $query_str = str_replace(')(', '),(', $str); $mysqli->query("$query_str"); mysqli_close($mysqli); } } else {} // если нет ключа, то игнорируем } ?> ---- query("$inject"); if(!$result) { die("Wrong query!"); } else { $t_mas = []; $v_mas = []; $i = -1; $test = mysqli_fetch_array($result,MYSQLI_ASSOC); mysqli_data_seek($result, 0); if ($test['Num'] != NULL) { /* формирование строк CSV формата */ while($myrow = mysqli_fetch_array($result,MYSQLI_ASSOC)) { if($myrow['Num'][0] != $ind) { $i++; $ind = $myrow['Num'][0]; $t_mas[$i] .= 'Session number'.';'.$myrow['Type'].';'; $v_mas[$i] .= $myrow['Num'][0].';'.$myrow['Value'].';'; } else { $t_mas[$i] .= $myrow['Type'].';'; $v_mas[$i] .= $myrow['Value'].';'; } } for($n=0; $n < count($t_mas); $n++) { $text .= $t_mas[$n]."\r\n".$v_mas[$n]."\r\n\r\n"; } } else { $cnt = 1; while($myrow = mysqli_fetch_array($result,MYSQLI_ASSOC)) { foreach ($myrow as $key => $value) { if($cnt = 1){$title .= $key.';';} $v_string .= $value.';'; } $v_string .= "\r\n"; } $text = $title."\r\n".$v_string."\r\n\r\n"; } echo $text; } } mysqli_close($mysqli); ?> ---- {{:doc:1513:excel.png?linkonly|}} {{ :doc:1513:form.png?linkonly |}} ---- {{ :doc:1513:lib.rar |}} ===== Каталог admin ===== Пройдите авторизацию!
' ); ?> Центральная панель управления

Панель управления

SQL запросы
(только для администраторов)

Редактировать персонал
(требуется доступ "moderator")

Редактировать приборы
(требуется доступ "moderator")

Редактировать объекты
(требуется доступ "moderator")

Редактировать данные датчиков
(требуется доступ "support")

Внести данные калибровки
(требуется доступ "support")


----

Error!: Empty page

' ); session_destroy (); ?> Панель управления
Выход выполнен
Вернуться
---- 'pass','level'=>255]; $buffer['anotherLogin'] = ['password'=>'pass','level'=>255]; // От 1 до 255. 0 - не авторизован, 1 - низший уровень. ?> ---- 1) { ?> Панель управления
Вход выполнен
Перейти к панели управления
Вход в панель управления
Вход в панель


'; exit; } if (!$_POST) not_logged_in (); if (!$_POST['login']) not_logged_in (); if (!$_POST['password']) not_logged_in (); if($buffer[$_POST['login']]) { if($buffer[$_POST['login']]['password'] == $_POST['password']) { $_SESSION['level'] = $buffer[$_POST['login']]['level']; $loggednow = $_POST['login']; } } else { not_logged_in(); } ?> Панель управления
Вход выполнен
Вы зашли как
Перейти к панели управления
---- Пройдите авторизацию
' ); if($_SESSION['level'] < 2) die ('
Недостаточно полномочий
'); require_once '../../core/baseinfo.php'; /* скрипт внесения новых данных калибровки */ if ((isset($_POST['uid']))&&(isset($_POST['sensid']))&&(isset($_POST['n']))) { $str = '{"n":'.$_POST['n']; if($_POST['n']>0) { $str .= ',"ai":['; for($i=0;$i<$_POST['n']+1;$i++) { $str .= $_POST['ai'.$i].','; } $str .= ']}'; $str = str_replace(',]}', ']}', $str); } else { $str .= '}'; } $alias = '('; $unit = $_POST['uid']; $sensor = $_POST['sensid']; $arr = explode("_",$sensor); $buff = array(); for($i=0; $i $value) { $alias .= "'".implode('_', $value)."',"; } $alias .= ')'; $alias = str_replace(',)', ')', $alias); /* если адрес для датчика устройства имеется в таблице адресов, то внести и в таблицу калибровки */ $check_exist = $mysqli->query("SELECT `adr` FROM `Production`.`sensors_adr` WHERE `sensor` IN $str AND `unit_id` = $unit ORDER BY `id` DESC LIMIT 1"); if($check_exist->num_rows) { $adr = mysqli_fetch_array($check_exist, MYSQLI_ASSOC); $adr = $adr['adr']; $mysqli->query("INSERT INTO `multiplier` (`unit`,`sensor`,`timestamp`,`ratio`,`adr`) VALUES ($unit,'$sensor',NOW(),'$str','$adr')"); } else { $mysqli->query("INSERT INTO `multiplier` (`unit`,`sensor`,`timestamp`,`ratio`) VALUES ($unit,'$sensor',NOW(),'$str')"); } } ?> Внесение данных калибровки Назад

Выберите устройство:

Выберите название сенсора и калибровочный параметр

Укажите n

query("SELECT mu.sensor,mu.timestamp,mu.ratio,mu.adr,CONCAT(li.uname,'(',li.Serial,')') as unit FROM multiplier as mu INNER JOIN (SELECT uNum,uName as uname,Serial from units_list) as li ON li.uNum = mu.unit ORDER BY unit,sensor"); echo '
Список данных колибровки'; while ($grow = mysqli_fetch_array($gg,MYSQLI_ASSOC)) { echo ''; } echo '
'.$grow['unit'].''.$grow['sensor'].''.$grow['timestamp'].''.$grow['ratio'].''.$grow['adr'].'
'; ?> ---- Пройдите авторизацию
' ); if($_SESSION['level'] < 1) die ('
Недостаточно полномочий
'); require_once '../../core/baseinfo.php'; $result = $mysqli->query("SELECT uNum, uName, Serial FROM units_list"); ?> Выгрузка из excel
Выберите устройство:
---- Пройдите авторизацию
' ); if($_SESSION['level'] < 255) die ('
Недостаточно полномочий
'); $mysqli = mysqli_connect('address','ReadOnlyLogin', 'pass','DB') or die ("Connection error: ". mysqli_error($mysqli)); ?> Назад


query("$inject INTO OUTFILE '$path' CHARACTER SET cp1251 FIELDS TERMINATED BY ';'LINES TERMINATED BY '\r\n'") or die ("Query error: ". mysqli_error($mysqli)); if (!mysqli_error()) { echo '
Скачать
'; } mysqli_close($mysqli); } ?> ---- Пройдите авторизацию
' ); header('Location:/admin/admin.php'); exit; ?> ---- Выбор способа внесения данных Назад

---- Пройдите авторизацию
' ); if($_SESSION['level'] < 127) die ('
Недостаточно полномочий
'); require_once '../../core/baseinfo.php'; ?> Назад




query("INSERT INTO `Objects` (`NameOb`) VALUES ('$name')"); header("Refresh:0"); } elseif(isset($_POST['delobj']) && ($_POST['delobj']!=='')) { $delid=strip_tags($_POST['delobj']); $delyet = $mysqli->query("UPDATE `Objects` SET `NameOb`='DELETED' WHERE NumOb=$delid"); header("Refresh:0"); } else{} Echo "
Список объектов:
"; $result = $mysqli->query("SELECT * FROM `Objects` WHERE `NameOb`!='DELETED'"); Echo ''; do{ Echo ''; Echo ''; Echo ''; Echo ''; }while ($myrow = mysqli_fetch_array($result)); Echo '

ID
Object

'.$myrow['NumOb'].''.$myrow['NameOb'].'

'; ?> ---- Пройдите авторизацию
' ); if($_SESSION['level'] < 127) die ('
Недостаточно полномочий
'); require_once '../../core/baseinfo.php'; ?> Назад




query("INSERT INTO `OPR_list` (`Name`) VALUES ('$name')"); header("Refresh:0"); } elseif(isset($_POST['deloperator']) && ($_POST['deloperator']!=='')) { $delid=strip_tags($_POST['deloperator']); $delyet = $mysqli->query("UPDATE `OPR_list` SET `Name`='REMOVED' WHERE N=$delid"); header("Refresh:0"); } else{} Echo "
Список операторов:
"; $result = $mysqli->query("SELECT * FROM `OPR_list` WHERE `Name`!='REMOVED'"); Echo ''; do{ Echo ''; Echo ''; Echo ''; Echo ''; }while ($myrow = mysqli_fetch_array($result)); Echo '

ID
Name

'.$myrow['N'].''.$myrow['Name'].'

'; ?> ---- Пройдите авторизацию
' ); if($_SESSION['level'] < 127) die ('
Недостаточно полномочий
'); require_once '../../core/baseinfo.php'; ?> Назад


















query("INSERT INTO `units_list` (`uName`,`Serial`,`Akey`,`OPid`,`x`,`y`,`IDob`) VALUES ('$name','$serial','$akey','$opid','$x','$y','$idobj')"); header("Refresh:0"); } /* удаление устройства */ elseif(isset($_POST['udel'])) { $delid=strip_tags($_POST['udel']); $delyet = $mysqli->query("UPDATE `units_list` SET `remove`='1' WHERE uNum=$delid"); header("Refresh:0"); } /* обновление информации о устройстве */ elseif (isset($_POST['updid']) && isset($_POST['updop']) && isset($_POST['updname']) && isset($_POST['updx']) && isset($_POST['updy']) && isset($_POST['updobj']) && ($_POST['updid'] !== '') && ($_POST['updname'] !== '') && ($_POST['updy'] !== '') && ($_POST['updobj']!=='') && ($_POST['updop']!=='')) { $updid=strip_tags($_POST['updid']); $updname=strip_tags($_POST['updname']); $updx=strip_tags($_POST['updx']); $updy=strip_tags($_POST['updy']); $updobj=strip_tags($_POST['updobj']); $updop=strip_tags($_POST['updop']); $addyet = $mysqli->query("UPDATE `units_list` SET `uName`='$updname',`x`='$updx',`y`='$updy',`IDob`='$updobj',`OPid`='$updop' WHERE `uNum`='$updid'"); header("Refresh:0"); } else{} Echo '
Список приборов:
'; $result = $mysqli->query("SELECT * FROM `units_list`"); Echo '

'; do{ $objectt = $myrow['IDob']; $operators = $myrow['OPid']; $operator = $mysqli->query("SELECT `Name` FROM `OPR_list` WHERE `N`='$operators'"); $object = $mysqli->query("SELECT `NameOb` FROM `Objects` WHERE `NumOb`='$objectt'"); $objectt = mysqli_fetch_array($object); $operators = mysqli_fetch_array($operator); Echo ''; Echo ''; Echo ''; Echo ''; Echo ''; Echo ''; Echo ''; Echo ''; Echo ''; Echo ''; Echo ''; Echo ''; Echo ''; }while ($myrow = mysqli_fetch_array($result)); Echo "

ID
Name
Serial
Access Key
Operator
Operator ID
X
Y
Object
Object ID
Removed
'.$myrow['uNum'].'
'.$myrow['uName'].'
'.$myrow['Serial'].'
'.$myrow['AKey'].'
'.$operators['Name'].'
'.$myrow['OPid'].'
'.$myrow['x'].'
'.$myrow['y'].'
'.$objectt['NameOb'].'
'.$myrow['IDob'].'
'.$myrow['remove'].'

"; ?> ---- Пройдите авторизацию
' ); if($_SESSION['level'] < 2) die ('
Недостаточно полномочий
'); require_once '../../core/baseinfo.php'; $result = $mysqli->query("SELECT `uNum`,`uName`,`Serial` FROM `Production`.`units_list` WHERE `remove` != 1"); ?> Add Sensor Page Назад

Устройство

НазваниеАдрес сенсораКраткое названиеЗаметка


query("SELECT `id`,`unit_id`,`sensor`,`adr`,`timestamp`,`sensor_name`,`note` FROM `Production`.`sensors_adr`"); if($actual_data->num_rows) { echo ''; while($actual = mysqli_fetch_array($actual_data, MYSQLI_ASSOC)) { $search = ''; echo ''; //echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; } } else { echo '

Данных пока нет

'; } ?>
IDID ПрибораНазваниеАдресДата-времяКраткое названиеЗаметка


---- Пройдите авторизацию
' ); if($_SESSION['level'] < 1) die ('
Недостаточно полномочий
'); require_once '../../core/baseinfo.php'; ?> Внесение замера
Выберите устройство:
====== Архив, содержащий программный код и структуру каталогов веб-приложения. ====== {{ :doc:1513:server.rar |}}