Foros del Web » Programando para Internet » PHP »

Importar datos tarda demasiado

Estas en el tema de Importar datos tarda demasiado en el foro de PHP en Foros del Web. Hola tengo que importar datos a traves de php+mysql. El excel contiene los siguientes campos: nombre artículo, categoría y precio. Entonces yo en el php ...
  #1 (permalink)  
Antiguo 01/02/2010, 07:00
 
Fecha de Ingreso: marzo-2008
Mensajes: 57
Antigüedad: 16 años, 8 meses
Puntos: 0
Importar datos tarda demasiado

Hola tengo que importar datos a traves de php+mysql.
El excel contiene los siguientes campos: nombre artículo, categoría y precio.
Entonces yo en el php lo primero que hago es un insert del artículo y después un select para cojer el id asignado y despues otro insert en la tabla categoría, y después otro en la tabla precio.

$insert_art=mysql_query("INSERT INTO tienda_productos(nombre) VALUES ('$codigo');
$id_art=mysql_insert_id();
//relaciono el artículo con una categoría
$insert_cat=mysql_query("INSERT INTO categorias (productos_id,categorias_id) VALUES ('$id_art','$id_cat')");
$insert_precio=mysql_query("INSERT INTO precios(productos_id,precio) VALUES ('$id_art','$id_cat'));



Pero todo esto me tarda demasiado y no finaliza la importaición de datos.
¿Como lo podría hacer para que tardase menos y sí me importara todos los artículos?

Gracias.
  #2 (permalink)  
Antiguo 01/02/2010, 07:32
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: Importar datos tarda demasiado

¿Todo esto está dentro de un bucle? ¿Cómo haces para leer un archivo de Excel? ¿Podrías cambiar el formato a csv? ¿Cuántos datos son?
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 01/02/2010, 09:12
 
Fecha de Ingreso: marzo-2008
Mensajes: 57
Antigüedad: 16 años, 8 meses
Puntos: 0
Respuesta: Importar datos tarda demasiado

Todo está dentro de un bucle que va leyendo linea por linea el fichero en csv y entonces hago los insert.
Son 23000 elementos.


Un saludo.
  #4 (permalink)  
Antiguo 01/02/2010, 09:15
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: Importar datos tarda demasiado

Ok, al ser tantos registros, se toma un tiempo en leerlos y pasarlos. LO que te sugiero es que declares una linea adicional al principio del código que le indique al interprete de PHP que siga leyendo hasta que termine, usa la función set_time_limit.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Etiquetas: tarda
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:01.