Ando buscando algo de ayuda ya que el sistema es actualizado de manera automatica cada 6hrs pero se me presenta un problema con el codigo de actualizacion ya que al detectar varios equipos caidos este se queda trabado en el "while" en la condicion "else" y no continua recorriendo y haciendo las actualizaciones y me muestra la pantalla de actualizacion con las filas no actualizadas.
Sera que podrian hecharle un ojo al codigo de actualizacion y decirme q anda mal y ayudarme a corrgirlo, ya q x mas q modifico y trato de darle vuelta me da el mismo resultado
He aqui el codigo de la tabla:
Código HTML:
<table width="100%" border="1"> <tr bgcolor="#CCCCCC" style="text-align: center; font-size:88%"> <td width="10%" height="25"><strong>Direccion IP</strong></td> <td width="10%"><strong>Nombre</strong></td> <td width="15%"><strong>Modelo</strong></td> <td width="6%"><strong>Tipo</strong></td> <td width="12%"><strong>Serial</strong></td> <td width="26%"><strong>Ubicación</strong></td> <td width="26%"><strong>Vinculo</strong></td> <td width="18%"><strong>Tiempo de Uso d:h:m:s</strong></td> <td width="4%"><strong>Miscilaneo</strong></td> </tr> <tr> <?php error_reporting(null); $con="host=localhost port=xxxx dbname=info_snmp user=FMO password=xxxx"; $dbconn=pg_connect($con) or die ('Conexion no establecida'); $comm = 'FMO'; //consulta $sql = "SELECT * FROM tabla_snmp ORDER By ubic_snmp,dir_ip_snmp"; $rs = pg_query($sql); if ($rs) { if(pg_num_rows($rs)>=0) { while ($obj = pg_fetch_object($rs)) { echo "<tr style='font-size:88%'><td>".$obj->dir_ip_snmp."</td>"; echo "<td>".$obj->nombre_snmp."</td>"; echo "<td>".$obj->modelo_snmp."</td>"; echo "<td style='text-align: center;'>".$obj->tipo_snmp."</td>"; echo "<td style='text-align: center;'>".$obj->serial_snmp."</td>"; echo "<td align='center'>".$obj->ubic_snmp."</td>"; echo "<td style='text-align: left;'>".$obj->vinculo_snmp."</td>"; echo "<td style='text-align: center;'>".$obj->tiempo_snmp."</td>"; echo "<td>"?> <table style="text-align:center" width="100px" border="0"> <tr> <td height="100%"> <form action="tabla_detalles.php" method="get" name="detalles" target="_blank"> <input name="host" type="hidden" value="<?php echo $obj->dir_ip_snmp; ?>" /> <input width="90%" height="90%" type="image" name="detalles" src="images/detail.ico"/> </form> </td> <td> <form action="delete.php" method="get" name="delete"> <input name="host" type="hidden" value="<?php echo $obj->dir_ip_snmp; ?>" /> <input width="90%" height="90%" type="image" name="delete" src="images/cancel.ico"/> </form> </td> </tr> </table> <?php "</td>"; } } else { echo "<p> No se encontraron Registros</p>"; } } header("refresh:15; url = foreach.php?acta=tabla"); ?> </tr> </table>
y este es el codigo que uso para actualizarla:
Código PHP:
$sql = "SELECT * FROM tabla_snmp";
$rs = pg_query($dbconn,$sql);
$acta=$_GET['acta'];
if($_GET['acta'] == "tabla"){
if ($rs) {
if(pg_num_rows($rs)>=0) {
while ($obj = pg_fetch_object($rs)) {
echo "<tr><td>".$obj->dir_ip_snmp."</td>";
echo "<td>".$obj->tiempo_snmp."</td>";
$host = $obj->dir_ip_snmp;
if(name_host($host,$comm) == true) {
$ipdir = ipdir($host, $comm);
$name_host = name_host($host,$comm);
if(modelo($host, $comm)==true) {
$modelo = modelo($host, $comm);
} else {
$modelo = modelo2($host, $comm);
}
$serial = serial($host,$comm);
$vinculo = vinculo($host,$comm);
$tiempo_uso = tiempo_uso($host, $comm);
$update = "UPDATE tabla_snmp SET nombre_snmp='$name_host', modelo_snmp='$modelo', serial_snmp='$serial',
vinculo_snmp='$vinculo', tiempo_snmp='$tiempo_uso' WHERE dir_ip_snmp='$obj->dir_ip_snmp'";
$result = pg_query($update) or die('Error al actualizar... '.pg_last_error());
break;
} else {
$estado = "<font color=red>No Disponible</font>";
$update = "UPDATE tabla_snmp SET nombre_snmp='$estado', modelo_snmp='$estado',serial_snmp='$estado',
vinculo_snmp='$estado', tiempo_snmp='$estado' WHERE dir_ip_snmp='$obj->dir_ip_snmp'";
$result = pg_query($update) or die('Error al actualizar... '.pg_last_error());
break;
}
}
}
}
header("location:tabla_snmp.php");
}