Path: C:\
<?php
header('Content-Type: application/json; charset=utf-8');
ini_set('max_execution_time', 259200);
ini_set('memory_limit', '-1');
date_default_timezone_set('America/Sao_Paulo');
$inicio = filter_input(INPUT_GET, 'inicio');
$hrini = filter_input(INPUT_GET, 'horainicio');
$fim = filter_input(INPUT_GET, 'fim');
$hrfim = filter_input(INPUT_GET, 'horafim');
$rt = filter_input(INPUT_GET, 'rt');
$min = filter_input(INPUT_GET, 'min');
$max = filter_input(INPUT_GET, 'max');
if (!$inicio || !$hrini || !$fim || !$hrfim || !$rt) {
echo json_encode(['error' => 'Parâmetros obrigatórios faltando.']);
exit;
}
$data1 = $inicio . ' ' . $hrini . ':00';
$data2 = $fim . ' ' . $hrfim . ':00';
require_once("../conexao_mysql_locaweb.php");
// Query temperatura
$sql = "SELECT FROM_UNIXTIME(dia_hora) AS dia, temperatura
FROM sitrad
WHERE id_arm='$rt'
AND FROM_UNIXTIME(dia_hora) BETWEEN '$data1' AND '$data2'
AND temperatura > 0
ORDER BY dia ASC";
$tempLabels = [];
$tempData = [];
if ($query = mysqli_query($conn3, $sql)) {
while ($row = $query->fetch_assoc()) {
$tempLabels[] = date('d/m H:i', strtotime($row['dia']));
$tempData[] = floatval($row['temperatura']);
}
}
// Query umidade
$sql2 = "SELECT FROM_UNIXTIME(dia_hora) AS dia, umidade
FROM sitrad
WHERE id_arm='$rt'
AND FROM_UNIXTIME(dia_hora) BETWEEN '$data1' AND '$data2'
AND umidade > 0
ORDER BY dia ASC";
$humLabels = [];
$humData = [];
if ($query2 = mysqli_query($conn3, $sql2)) {
while ($row2 = $query2->fetch_assoc()) {
$humLabels[] = date('d/m H:i', strtotime($row2['dia']));
$humData[] = floatval($row2['umidade']);
}
}
// Estatísticas
$tempStats = ['min' => 0, 'max' => 0, 'avg' => 0, 'count' => 0];
$humStats = ['min' => 0, 'max' => 0, 'avg' => 0, 'count' => 0];
if (count($tempData) > 0) {
$tempStats = [
'min' => min($tempData),
'max' => max($tempData),
'avg' => round(array_sum($tempData) / count($tempData), 2),
'count' => count($tempData),
];
}
if (count($humData) > 0) {
$humStats = [
'min' => min($humData),
'max' => max($humData),
'avg' => round(array_sum($humData) / count($humData), 2),
'count' => count($humData),
];
}
// Limites para o PDF
$limite = strtotime($fim);
$lim = ($limite >= 1680220800) ? 'novo' : 'velho';
echo json_encode([
'temperatura' => [
'labels' => $tempLabels,
'data' => $tempData,
'stats' => $tempStats,
],
'umidade' => [
'labels' => $humLabels,
'data' => $humData,
'stats' => $humStats,
],
'params' => [
'min' => floatval($min),
'max' => floatval($max),
'rt' => $rt,
'limite' => $lim,
'inicio' => date('d-m-Y', strtotime($inicio)) . ' as ' . $hrini,
'fim' => date('d-m-Y', strtotime($fim)) . ' as ' . $hrfim,
],
]);
?>