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 {} // если нет ключа, то игнорируем } ?>