Foros del Web » Programando para Internet » PHP »

ayuda con Load Data Local Infile

Estas en el tema de ayuda con Load Data Local Infile en el foro de PHP en Foros del Web. hola a todos, tengo la siguiente instruccion @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original load data local infile '$ubicacion' into table Temporal fields terminated by ';' ...
  #1 (permalink)  
Antiguo 19/11/2010, 12:15
 
Fecha de Ingreso: noviembre-2010
Mensajes: 46
Antigüedad: 14 años
Puntos: 5
ayuda con Load Data Local Infile

hola a todos,

tengo la siguiente instruccion
Código PHP:
Ver original
  1. load data local infile '$ubicacion' into table Temporal fields terminated by ';' enclosed by '\"' lines terminated by '\n' IGNORE 1 LINES;

con ella cargo un csv o un txt para generar un reporte el problema esta en que cada reporte requiere diferentes campos, por ejemplo para el reporte 1 solo requiero los campos Nombre, Domicilio y Edad, para el reporte 2 solo requiero Domicilio, Fecha_nacimiento y Sexo, y asi, para todos son diferentes campos entonces creo una tabla que se llama Temporal con los siguientes campos Nombre, Domicilio, Sexo, Fecha_nacimiento y Edad;

ahora al momento de cargar la tabla me carga los campos tal como son, quiero decir si la primera fila del txt tiene el titulo Edad, me lo carga en el primer campo de la tabla (Nombre) y a la hora de imprimir el reporte los campos son incorrectos porque se ubicaron en el lugar donde no era... que es lo que me falta en mi instruccion para que segun el nombre sea en el campo que lo cargue???


espero haberme explicado y me puedan ayudar
  #2 (permalink)  
Antiguo 19/11/2010, 12:26
Avatar de catpaw  
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 14 años, 6 meses
Puntos: 23
Respuesta: ayuda con Load Data Local Infile

Checa mi respuesta en este post igual te guia un poco:

http://www.forosdelweb.com/f18/como-...on-php-857717/

tienes que acomodar a tu gusto las variables que puedes ir separando con substr

despues contatenas como el ejemplo y despues haces tu load asi:

Código PHP:
$lSQL="LOAD DATA LOCAL INFILE '".$nombre_arch."' INTO TABLE Temporal FIELDS TERMINATED BY ';' enclosed by '\"' lines terminated by '\n' IGNORE 1 LINES";
mysql_query($lSQL) or die ("Error al insertar en la base de datos: ".mysql_error()); 
Suerte!
  #3 (permalink)  
Antiguo 19/11/2010, 17:46
 
Fecha de Ingreso: noviembre-2010
Mensajes: 46
Antigüedad: 14 años
Puntos: 5
Respuesta: ayuda con Load Data Local Infile

hola! gracias por tu ayuda pero bueno al final resolvi el ṕroblema de otra manera

Código PHP:
Ver original
  1. $query="load data local infile '$ubicacion' into table Temporal fields terminated by ';' enclosed by '\"' lines terminated by '\n' IGNORE 1 LINES".$campos.";";

donde la variable $campos contiene la los campos que se van a subir dependiendo del reporte que se quiera, por ejemplo:

Código PHP:
Ver original
  1. $campos=" (Nombre, Puesto, Fecha_baja)";

solo falta mencionar una cosa, el orden en el txt que se cargue debe ser el mismo que el de $campos de lo contrario los deja mal acomodados

esto es si mi txt esta asi

Puesto Nombre Fecha_baja
Recepcionista Fulanito 10-12-2010
Mensajero Juanito 03-10-2010


entonces en la tabla en el lugar donde va el nombre tomara la primera fila ya que ocupa el primer lugar y como nombres quedarian (Recepcionista y Mensajero) y como Puestos (Fulanito y Juanito)

espero les sirva
grax x su ayuda

Etiquetas: data, infile, load, local
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 08:15.