Path: C:\
<?php
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');
$via = filter_input(INPUT_GET, 'via');
$min = filter_input(INPUT_GET, 'min');
$max = filter_input(INPUT_GET, 'max');
$data1 = $inicio.' '.$hrini.':00';
$data2 = $fim.' '.$hrfim.':00';
$dia_ini = date('d-m-Y',strtotime($inicio));
$dia_fim = date('d-m-Y',strtotime($fim));
$limite = strtotime($fim);
if ($limite>=1680220800){$lim='novo';}else{$lim='velho';}
//echo $fim.'<br>';
//echo $lim.'<br>';
$linha[0][0]='';$linha[0][1]='';$linha[0][2]='';
$linha[1][0]=$dia_ini.' as '.$hrini;$linha[1][1]=$dia_fim.' as '.$hrfim;$linha[1][2]='';
$linha[2][0]=$hrini;$linha[2][1]=$hrfim;$linha[2][2]='';
$linha[3][0]=$min;$linha[3][1]=$max;$linha[3][2]=$rt;
$linha[4][0]='';$linha[4][1]='';$linha[4][2]=$via;
$file_txt = fopen('quali3.txt', 'w');
for ($i=0;$i<=4;++$i){
$linha2=$linha[$i][0].';'.$linha[$i][1].';'.$linha[$i][2].PHP_EOL;
fwrite($file_txt, $linha2);
}
fclose($file_txt);
require_once("../conexao_mysql_locaweb.php");
require_once('phplot.php');
require_once('prune_labels.php');
$plot = new PHPlot(850,250);
$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";
if (!$query = mysqli_query($conn3, $sql)){
echo "<script type=\"text/javascript\">alert(\"Erro no Banco de Dados!\");window.close();opener.location.href='index.php';</script>";}
else{
$num= mysqli_num_rows($query);
if($num==0){
echo "<script type=\"text/javascript\">alert(\" ".$sql." Sem dados TEMPERATURA para esse período!\");window.close();opener.location.href='index.php';</script>";}
else{
$z=0;$tt=0;$minima=99;$maxima=0;$i='s';$b=0;
if ($min<0 and $max<0){$range=abs($min)-abs($max);}
else{
if ($max>=0 and $min>=0){ $range=$max-$min;}
else{
if ($min<0 and $max>=0){ $range=abs($min)+$max;}
else{ $range=0;}
}
}
if ($range>3){$range=3;}
while($row = $query->fetch_assoc()) {
$grafico[$z][0]=strtotime($row['dia']);
$grafico[$z][1]=$min;
$grafico[$z][2]=$max;
$grafico[$z][3]=$row['temperatura'];
if ($via==1)
{ if ($max>=0 and $min>=0)
{ if($grafico[$z][3]>$max)
{ $dif=$grafico[$z][3]-$max;
if($dif>$range)
{ $dif=$range-($dif/(intval($dif-$range)+1.5));}
$grafico[$z][3]=$max-$dif;
}
if($grafico[$z][3]<$min)
{ $dif=$min-$grafico[$z][3];
if($dif>$range)
{ $dif=$range-($dif/$range);}
$grafico[$z][3]=$min+$dif;
}
}
else
{ if ($min<0 and $max<0)
{ if($grafico[$z][3]>$max)
{ if($grafico[$z][3]<0)
{ $dif=abs($max)-abs($grafico[$z][3]);}
else
{ $dif=$grafico[$z][3]+abs($max);}
if($dif>$range)
{ $dif=$range-($dif/($dif-$range));}
$grafico[$z][3]=$min+$dif;
}
if($grafico[$z][3]<$min)
{ $dif=$min-$grafico[$z][3];
if($dif>$range)
{ $dif=$range-($dif/$range);}
$grafico[$z][3]=$max-$dif;
}
}
else
{ if($grafico[$z][3]>$max)
{ $dif=$grafico[$z][3]-$max;
if($dif>$range)
{ $dif=$range-($dif/(intval($dif-$range)+1.5));}
$grafico[$z][3]=$max-$dif;
}
if($grafico[$z][3]<$min)
{ $dif=$min-$grafico[$z][3];
if($dif>$range)
{$dif=$range-($dif/$range);}
$grafico[$z][3]=$max-$dif;
}
}
}
}
$tt=$tt+$grafico[$z][3];
if ($grafico[$z][3]<$minima){$minima=$grafico[$z][3];}
if ($grafico[$z][3]>$maxima){$maxima=$grafico[$z][3];}
$z++;
}
$media=$tt/$z;
if($min>=$minima){$miy=$minima-2;}else{$miy=$min-2;}
if($max<=$maxima){$may=$maxima+2;}else{$may=$max+2;}
prune_labels($grafico, 20);
$plot->SetDataValues($grafico);
$plot->SetXTitle('Data e Hora');
$plot->SetYTitle('Temperatura');
$plot->SetDataColors(array('blue', 'red', 'green'));
$plot->SetPlotType('lines');
$plot->SetLineWidths(2);
$plot->SetLineStyles(array('solid','solid','solid'));
$plot->SetYTickIncrement(2);
$plot->SetXLabelAngle(90);
$plot->SetXLabelType('time', '%d/%m %H:%M');
$plot->SetXTickLabelPos('none');
$plot->SetPlotBorderType('left');
$plot->SetXTickPos('none');
$plot->SetLegendStyle('left','left');
$plot->SetLegend(array('Minima',utf8_decode('Máxima'), 'Leitura'));
$plot->SetPlotAreaWorld(null, $miy, null, $may); // comentar essa linha se quiser tirar limites
$plot->SetLegendPixels(783, 3);
$plot->SetPrintImage(false);
$plot->DrawGraph();
$imagem = $plot->EncodeImage('raw');
$fp = fopen("images/grafico.png", "w");
fwrite($fp, $imagem);
fclose($fp);
}
}
$plot2 = new PHPlot(850,250);
$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";
if (!$query2 = mysqli_query($conn3, $sql2)){
echo "<script type=\"text/javascript\">alert(\"Erro no Banco de Dados!\");window.close();opener.location.href='index.php';</script>";}
else{
$num2= mysqli_num_rows($query2);
//echo $num;
if($num2==0){
echo "<script type=\"text/javascript\">alert(\"Sem dados UMIDADE para esse período!\");window.close();opener.location.href='index.php';</script>";}
else{
$z=0;$tt=0;$Uminima=99;$Umaxima=0;
while($row2 = $query2->fetch_assoc()) {
$grafico2[$z][0]=strtotime($row2['dia']);
$grafico2[$z][1]=0;
$grafico2[$z][2]=0;
$grafico2[$z][3]=$row2['umidade'];
$tt=$tt+$grafico2[$z][3];
if ($grafico2[$z][3]<$Uminima){$Uminima=$grafico2[$z][3];}
if ($grafico2[$z][3]>$Umaxima){$Umaxima=$grafico2[$z][3];}
$z++;
}
$Umedia=$tt/$z;
$plot2->SetDataValues($grafico2);
$plot2->SetXAxisPosition($Umaxima+1);
$plot2->SetYTitle('Umidade %');
$plot2->SetDataColors(array('blue', 'red', 'green'));
$plot2->SetPlotType('lines');
$plot2->SetLineWidths(2);
$plot2->SetLineStyles(array('solid','solid','solid'));
$plot2->SetYTickIncrement(5);
$plot2->SetXTickPos('none');
$plot2->SetXTickLabelPos('none');
$plot2->SetXDataLabelPos('none');
$plot2->SetPlotBorderType('left');
$plot2->SetPlotAreaWorld(null, $Uminima, null, $Umaxima+1); // comentar essa linha se quiser tirar limites
$plot2->SetPrintImage(false);
$plot2->DrawGraph();
$imagem2 = $plot2->EncodeImage('raw');
$fp2 = fopen("images/grafico2.png", "w");
fwrite($fp2, $imagem2);
fclose($fp2);
}
}
echo "<script language='JavaScript'>window.close();window.open('RelatorioGrafico.php?media=".$media."&minima=".$minima."&maxima=".$maxima."&Umedia=".$Umedia."&Uminima=".$Uminima."&Umaxima=".$Umaxima."&limite=".$lim."');</script>";
?>