'tg-ukxy', 'modfav'=>'tg-c4s6', 'desfav'=>'tg-yg2k'); $oper_aer01 = array('A','B','C','D','E'); // A = Ametrallamiento, B=Bombardeo, C=Cohetes, D=Transporte, E=Recon.armas function getcolorT($oper_, $visib_, $cobert_, $precip_, $niv_rios_, $colors_, $oper_aer01_) { $color_=''; if ( $oper_ == 'R' ) { // Fluvial if ( $niv_rios_ > 20 || ($niv_rios_ <= 20 && $niv_rios_ >= 10) ) $color_ = $colors_['fav']; // Verde (Favorable) elseif ($niv_rios_ < 10) $color_ = $colors_['modfav']; // Amarillo (Moderadamente Favorable) elseif ($niv_rios_ > 30) $color_ = $colors_['modfav']; // Amarillo elseif (($niv_rios_ <= 30 && $niv_rios_ >= 10) || $niv_rios_ < 10) $color_ = $colors_['desfav']; else $color_ = $colors_['desfav']; } elseif (in_array($oper_, $oper_aer01_)) { if ( ($visib_ > 5 || ($visib_ >= 2 && $visib_ <= 5)) && ($cobert_ >= 0 && $cobert_ <= 40) && ($precip_ < 1 || ($precip_ >=1 && $precip_<=5)) ) $color_ = $colors_['fav']; elseif ( ($visib_ < 2 || $visib_ > 5) && ($cobert_ >= 0 && $cobert_ <= 40) || ($cobert_ > 40 && $cobert_ <= 100) && ($precip_>5 || $precip_<1) ) $color_ = $colors_['modfav']; elseif ( (($visib_ >= 2 && $visib_ <= 5) || $visib_ < 2) && ($cobert_ >= 40 && $cobert_ <= 100) && (($precip_ >= 1 && $precip_ <= 5) || $precip_ > 5) ) $color_ = $colors_['desfav']; else $color_ = $colors_['desfav']; } elseif ($oper_ == 'F') //Flir { if ( ($visib_ > 5 || ($visib_>=2 && $visib_<=5) || $visib_<2) && ($cobert_ >= 0 && $cobert_ <= 40) && ($precip_ < 1 || ($precip_>=1 && $precip_<=5) || $precip_>5) ) $color_ = $colors_['fav']; elseif ( ($visib_ > 5 || ($visib_>=2 && $visib_<=5)) && ($cobert_ >= 40 && $cobert_ <= 100) && ($precip_>=1 && $precip_<=5) ) $color_ = $colors_['modfav']; elseif ( $visib_<2 && ($cobert_>=40 && $cobert_<=100) && $precip_ > 5) $color_ = $colors_['desfav']; else $color_ = $colors_['desfav']; } elseif ($oper_ == 'I') //Aerofotografia { if ( ($visib_>5 || ($visib_>=2 && $visib_<=5)) && ($cobert_>=0 && $cobert_<=40) && ($precip_<1 || ($precip_>=1 && $precip_<=5)) ) $color_=$colors_['fav']; elseif ( $visib_<2 && ($cobert_>=0 && $cobert_<=40) && $precip_>5 ) $color_=$colors_['modfav']; elseif ( ( $visib_>2 || ($visib_>=2 && $visib_<=5) || $visib<2) && ($cobert_>=40 && $cobert_<=100) && ($precip_<1 || ($precip_>=1 && $precip_<=5) || $precip_>5) ) $color_=$colors_['desfav']; else $color_=$colors_['desfav']; } //else ($oper_ == 'K') //Radiofotografia else //Radiofotografia { if ( ($visib_>5 || ($visib_>=2 && $visib_<=5) || $visib_<2 || $visib_>5) && (($cobert_>=0 && $cobert_<=40) || ($cobert_>40 && $cobert_<=100)) && ($precip_<1 || ($precip_>=1 && $precip_<=5) || $precip_>5) ) $color_ = $colors_['fav']; elseif ( ($visib_>=2 && $visib_<=5) && ($cobert_>=40 && $cobert_<=100) && ($precip_>=1 && $precip_<=5) ) $color_ = $colors_['modfav']; elseif ( $visib_<2 && ($cobert_>=40 && $cobert_<=100) && $precip_>5 ) $color_ = $colors_['desfav']; } return $color_ ; } function getcolorM($nav_cost_af, $nav_cost, $colors_) { $navigs = array(); if ($nav_cost_af < 4) $color_ = $colors_['fav']; elseif ($nav_cost_af >= 4 && $nav_cost <= 6) $color_ = $colors_['modfav']; else $color_ = $colors_['desfav']; $navigs[0] = $color_; if ($nav_cost < 4) $color_ = $colors_['fav']; elseif ($nav_cost >= 4 && $nav_cost <= 6) $color_ = $colors_['modfav']; else $color_ = $colors_['desfav']; $navigs[1] = $color_; return $navigs; } $mysqli = new mysqli($hostname, $username, $password, $databasename); if ($mysqli->connect_errno) { //echo "Failed to connect to MySQL: " . $mysqli->connect_error; header('HTTP/1.1 404 '.$mysqli->connect_error); exit(); } $area = (int)htmlspecialchars(trim($_GET['_area'])); //Obtiene la info de cada unidad $str_ = "SELECT a.fecha,b.abrev,b.tipo,a.temp_d,a.temp_n,a.hum_d,a.hum_n,a.posll_d,a.posll_n,a.sol_ort,a.lun_ort,a.sol_oca,a.lun_oca,a.sol_mxalt,a.lun_mxalt,a.dirv_d,a.dirv_n,a.velv_d,a.velv_n FROM indicrs a INNER JOIN unidad b ON a.unidad = b.ind WHERE b.ind=? ORDER BY a.fecha DESC LIMIT 1"; //Selecciona el area con la ultima informacion registrada para ultima fecha. $stmt = $mysqli->prepare($str_); $stmt->bind_param("i", $area); $stmt->execute(); $stmt->bind_result($fecha,$abrev,$tipo,$temp_d,$temp_n,$hum_d,$hum_n,$posll_d,$posll_n,$sol_ort,$lun_ort,$sol_oca,$lun_oca,$sol_mxalt,$lun_mxalt,$dirv_d,$dirv_n,$velv_d,$velv_n); //Captura datos proveniente de Indicadores $stmt->fetch(); $stmt->close(); if (isset($abrev)) { $kolor = array(); if ($tipo = "T") // área tipo terrestre { $str_ = "SELECT `oper`,`visib`,`cobert`,`precip`,`niv_rios` FROM ind_aereas WHERE `fecha` = ? AND `unidad` = ?"; $stmt1 = $mysqli->prepare($str_); $stmt1->bind_param("si",$fecha,$area); $stmt1->execute(); $stmt1->bind_result($oper,$visib,$cobert,$precip,$niv_rios); //Captura datos proveniente de indicaciones aereas while ($stmt1->fetch()) { $color = getcolorT($oper,$visib,$cobert,$precip,$niv_rios,$colors,$oper_aer01); $kolor[$oper] = $color; } } else { $str_ = "SELECT `nv_cost_af`,`nv_cost` FROM ind_marit WHERE `fecha` = ? AND `unidad` = ?"; $stmt1 = $mysqli->prepare($str_); $stmt1->execute(); $stmt1->bind_param("si",$fecha,$area); $stmt1->bind_result($nv_cost_af,$niv_cost); //Captura datos proveniente de indicaciones maritimas while ($stmt1->fetch()) { $color = getcolorM($nv_cost_af, $nv_cost, $colors); } } $stmt1->close(); //var_dump($kolor); //print_r($kolor); //echo $fecha; ob_start(); if ($tipo == 'T') include 'plantilla02.html'; else include 'plantilla03.html'; $string = ob_get_clean(); $patterns = array(); $patterns[0] = '/29/' ; //temperatura dia :: $temp_d $patterns[1] = '/25/' ; //temperatura noche :: $temp_n $patterns[2] = '/60/' ; //humedad rel. dia :: $hum_d $patterns[3] = '/85/' ; //humedad rel. noc :: $hum_n $patterns[4] = '/10%/' ; //posib lluvia dia :: $posll_d $patterns[5] = '/70%/' ; //posib lluvia noche :: $posll_n $patterns[6] = '/05\:52/' ; //orto sol :: $sol_ort $patterns[7] = '/14\:11/' ; //orto luna :: $lun_ort $patterns[8] = '/18\:21/' ; //ocaso sol :: $sol_oca $patterns[9] = '/14\:12/' ; //ocaso luna :: $lun_oca $patterns[10] = '/12\:06/' ; //max-alt-sol :: $sol_mxalt $patterns[11] = '/20\:12/' ; //max-alt-luna :: $lun_mxalt $patterns[12] = '/30/' ; //viento::dir::dia :: $dirv_d $patterns[13] = '/36/' ; //viento::dir::noche :: $dirv_n $patterns[14] = '/6 nudos/' ; //viento::vel::dia :: $velv_d $patterns[15] = '/8 nudos/' ; //viento::vel::noche :: $velv_n if ($tipo== 'T') { if (array_key_exists('A',$kolor)) $patterns[16] = '/<\/td>/'; //operaerea::ametrallamiento if (array_key_exists('B',$kolor)) $patterns[17] = '/<\/td>/'; //operaerea::bombardeo if (array_key_exists('C',$kolor)) $patterns[18] = '/<\/td>/'; //operaerea::cohetes if (array_key_exists('D',$kolor)) $patterns[19] = '/<\/td>/' ; //operaerea::transporte if (array_key_exists('E',$kolor)) $patterns[20] = '/<\/td>/'; //operaerea::recon_armas if (array_key_exists('F',$kolor)) $patterns[21] = '/<\/td>/'; //operaerea::flir if (array_key_exists('I',$kolor)) $patterns[22] = '/<\/td>/'; //operaerea::aerofotografia if (array_key_exists('K',$kolor)) $patterns[23] = '/<\/td>/'; //operaerea::radiofotografia if (array_key_exists('R',$kolor)) $patterns[24] = '/<\/td>/'; //operaerea::fluviales $patterns[25] = '/PRONOSTICO OPERACIONAL (\w+ \d)/' ; //titulo $patterns[26] = '/"/'; $patterns[27] = '/\n/'; } else { if (isset($color[1])) $patterns[16] = '/<\/td>/'; //Navegacion costera if (isset($color[0])) $patterns[17] = '/<\/td>/'; //Navegacion costa afuera $patterns[18] = '/PRONOSTICO AREA MARITIMA (\w+)/' ; //titulo $patterns[19] = '/\"/'; $patterns[20] = '/\n/'; } //$patterns[] = '/\"/'; //$patterns[] = '/\n/'; $replacement = array(); $replacement[0] = $temp_d; $replacement[1] = $temp_n; $replacement[2] = $hum_d; $replacement[3] = $hum_n; $replacement[4] = $posll_d.'%'; $replacement[5] = $posll_n.'%'; $replacement[6] = substr($sol_ort,0,-3); $replacement[7] = substr($lun_ort,0,-3); $replacement[8] = substr($sol_oca,0,-3); $replacement[9] = substr($lun_oca,0,-3); $replacement[10] = substr($sol_mxalt,0,-3); $replacement[11] = substr($lun_mxalt,0,-3);; $replacement[12] = $dirv_d; $replacement[13] = $dirv_n; $replacement[14] = $velv_d.' nudos'; $replacement[15] = $velv_n.' nudos'; if ($tipo== 'T') { if (array_key_exists('A',$kolor)) $replacement[16] = ''; //operaerea::ametrallamiento if (array_key_exists('B',$kolor)) $replacement[17] = ''; //operaerea::bombardeo if (array_key_exists('C',$kolor)) $replacement[18] = ''; //operaerea::cohetes if (array_key_exists('D',$kolor)) $replacement[19] = ''; //operaerea::transporte if (array_key_exists('E',$kolor)) $replacement[20] = ''; //operaerea::recon-armas if (array_key_exists('F',$kolor)) $replacement[21] = ''; //operaerea::flir if (array_key_exists('I',$kolor)) $replacement[22] = ''; //operaerea::aerofotografia if (array_key_exists('K',$kolor)) $replacement[23] = ''; //operaerea::radiofotografia if (array_key_exists('R',$kolor)) $replacement[24] = ''; //operaerea::radiofotografia $replacement[25] = 'PRONOSTICO OPERACIONAL '.substr($abrev,0,-1).' '.substr($abrev,-1); $replacement[26] = '"'; $replacement[27] = ''; } else { $replacement[16] = '<\/td>'; $replacement[17] = '<\/td>'; $replacement[18] = 'PRONOSTICO AREA MARITIMA '.$abrev; $replacement[19] = '"'; $replacement[20] = ''; } echo preg_replace($patterns, $replacement, $string); } ?>