[Php-avanzado] Bucle de inserts
Mauro Giuffo
maurogiuffo en gmail.com
Lun Dic 8 20:43:40 ART 2008
Hola:
tengo el siguiente problema. Hice dos funciones:
una levanta una lista de articulos desde un archivo de texto a un array
la otra inserta cada item del array en una base de datos
El problema esta en la segunda funcion ya que tarda mas de 30 segundos y
aparentemente se corta el script, solo llega a insertar aproximadamente 1200
articulos de 2000 que hay en el archivo. Quisiera saber si hay algo mal en
la segunda funcion o si se la puede mejorar , ya que la primera tarda menos
de un segundo
<?php
function leer_articulos_txt(){
//Abro el fichero en modo lectura
$archivo = fopen("articulos.txt","r");
$buffer = fgets($archivo);
if(trim($buffer)=="ARTICULOS"){ // me aseguro de que sea el listado de
articulos
//Hasta que no llegue al final del fichero
while(!feof($archivo)){
$buffer = fgets($archivo);
$lista[]=explode("|",$buffer);
}
}
return $lista;
}
function insertar_articulos_bd($lista){
include('conexion.php');
$consulta = "truncate table articulos"; //limpio la tabla
$resultado=mysql_query($consulta) or die (mysql_error());
foreach ($lista as $articulo) {
$consulta = "INSERT INTO articulos
(id,codigo,descripcion,precio,grupo,familia,marca) VALUES
(NULL,'$articulo[0]','$articulo[1]','$articulo[2]','$articulo[3]','$articulo[4]','$articulo[5]')";
$resultado=mysql_query($consulta) or die (mysql_error());
}
}
?>
Muchas gracias
Mauro Giuffo
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://www3.fi.mdp.edu.ar/cgi-bin/mailman/private/php-avanzado/attachments/20081208/1425363b/attachment.htm
Más información sobre la lista de distribución Php-avanzado