Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/11/2008, 16:35
carloscaliche
 
Fecha de Ingreso: agosto-2007
Mensajes: 6
Antigüedad: 16 años, 8 meses
Puntos: 0
Pregunta consulta e insertar error

Cordial saludo

bueno tengo un problemita al tratar de ingresar una cantidad enorme de registros son al rededor de 20.000 registros estos se deben de ingresar teniendo en cuenta que si son nuevos ser insertan con la información y si ya existen se actualiza el estado esto se hace por la carga de un archivo TXT separado por , el problema es que llega hasta un punto y este se trunca.

este es el código

Código PHP:

<table style="border: 2px dotted gray;margin-right:auto;margin-left:auto;">
<?
$lines 
file('Jaibana.txt');
?>
<tr style="text-align:center;background-color:#4a6890;color:#fff;">
<td>Tipo</td><td>Documento</td> <td>Nombre1</td> <td>Nombre2</td> <td>Apellido1</td> <td>Apellido2</td><td>Sexo</td> <td>Edad</td> <td>Categoria</td></tr>
<?
include("conex.php");
mysql_select_db("caidas_sis",$conexion) or die ("Error de conexion con la Base de Datos"     );    
//Pasa el Estado a 0 desactivado 
$upd_Estado 'UPDATE `caidas_sis`.`usuarios` SET `estado` = \'0\' '
$resul1=mysql_query($upd_Estado,$conexion) or die ("Error en la Update");
//fin cambio de estado

foreach ($lines as $line_num => $line) {    
     
$datos explode(","$line); 
//Esta página es la que crea el nuevo usuario en la base de datos con los nuevos datos
//al finalizar la acción se redirecciona a la página principal del administrador

$con2="SELECT id_usuarios FROM `usuarios` where id_usuarios='$datos[2]';";
$resul=mysql_query($con2,$conexion) or die ("Error en la consultaVeri1");
$nr=mysql_num_rows($resul);

if(
$nr==0){
mysql_free_result($resul);

$con "INSERT INTO `caidas_sis`.`usuarios` (`id_us`,`id_usuarios`,`tipo`,`categoria`,`estado`,`edad`,`tipo_edad`,`sexo`, `nombre1`, `nombre2`, `apellido1`, `apellido2`) VALUES ('','$datos[2]', '$datos[1]', '$datos[16]', '1', '$datos[8]', '1', '$datos[7]', '$datos[3]', '$datos[4]','$datos[5]','$datos[6]');";    
$resul3=mysql_query($con,$conexion) or die ("Error al Ingresar el User22 $datos[2] ");

  
 
?>
       <tr>
        <td><?= $datos[1]?></td> 
         
        <td style="background-color:#cccccc;"> <?= $datos[2]?> </td>
        <td><?= $datos[3]  ?> </td>
        <td><?= $datos[4]  ?> </td>
        <td><?= $datos[5]  ?> </td>
        <td><?= $datos[6]  ?> </td>
        <td><?= $datos[7]  ?> </td> 
        <td><?= $datos[8]  ?> </td> 
        <td><?= $datos[16]  ?> </td>        
        </tr>
    <?    
}
else{
$upd2 'UPDATE `caidas_sis`.`usuarios` SET `estado` = \'1\' WHERE `usuarios`.`id_usuarios` = \'$datos[2]\';';
$resul2=mysql_query($upd2,$conexion) or die ("Error en la consultaVeri1");

mysql_free_result($resul2);
}
       } 
//fin foreach
        
mysql_close();
?>
</table>
Como puedo optimizar esto para que no me salga el famoso error

Fatal error: Maximum execution time of 200 seconds exceeded in C:\AppServ\www\CargaUsuarios.php on line 53



Agradezco su ayuda de antemano

Última edición por carloscaliche; 28/11/2008 a las 16:46