Foros del Web » Creando para Internet » Herramientas y Software »

¿cómo puedo importar un txt de ancho fijo a MySQL?

Estas en el tema de ¿cómo puedo importar un txt de ancho fijo a MySQL? en el foro de Herramientas y Software en Foros del Web. Que tal buenas tardes a todos. Les explico lo que deseo realizar. Lo que estoy haciendo es una pagina de una empresa que registra los ...
  #1 (permalink)  
Antiguo 03/09/2009, 12:34
 
Fecha de Ingreso: septiembre-2009
Mensajes: 1
Antigüedad: 14 años, 7 meses
Puntos: 0
¿cómo puedo importar un txt de ancho fijo a MySQL?

Que tal buenas tardes a todos.

Les explico lo que deseo realizar.
Lo que estoy haciendo es una pagina de una empresa que registra los datos de los empleados, los doy de alta manualmente ya saben ABC de las bases de datos.

Mi problema es que me asignaron la tarea de cargar los datos de los empleados, que vienen en archivos de texto de forma masiva. Este archivo contiene por cada linea o renglon el nombre,direccion,numcta,importe etc...

Losa datos vienen en longitud fija sin comas, comillas,espacios o algo por el estilo, es decir la longitud de los campos es de forma fija... ejemplo:

juan perez lopez c. rio bravo #344 32323232 78877.00 etc......

Lo que estuve investigando es que se puede usar la funcion substr(), pero no estoy muy familiarizado, les dejo mi codigo yo se que algo no estoy haciendo bien, ya que si hace la insercion de datos pero no me inserta mis datos solo me inserta datos vacios, les dejo mi codigo.


cargar.html
//En este archivo cargo el .txt donde tengo la informacion
<form action="procesa.php" name="upload" method="get" enctype="multipart/form-data">
<p><br />
<input name="txt_file" type="file" maxlength="255"/>
<input name="submit_txt" type="submit" value="Cargar">


procesa.php

//y aquí según yo recibo el archivo (que la verdad o dudo)

.
.
. ( Instrucciones de Conexión )
.
.
.



$numcta = substr($linea, 0, 16);
$nombre =substr($linea,17,41);
$direccion =substr($linea,47,67);
$rpe =substr($linea,104,109);
$zona =substr($linea,3,6);
$rpu=substr($linea,43,47);
$tipocont=substr($linea,101,102);
$area=substr($linea,1,2);

$inserta = "insert into empleados (`rpe` , `rpu` , `area` , `nombre` , `direccion` , `numcta` , `tipo_cont` , `Zona` )
values ('$rpe' , '$rpu' , '$area' , '$nombre' , '$direccion' , '$numcta' , '$tipocont' , '$zona');";

mysql_query($inserta);

echo "Datos Insertados con Exito";



Y no me inserta nada como les comente , les agradecería de antemano que me pudieran ayudar .

Saludos
  #2 (permalink)  
Antiguo 03/09/2009, 14:40
Avatar de juaniquillo
Colaborador
 
Fecha de Ingreso: noviembre-2005
Ubicación: San Juan, Puerto Rico
Mensajes: 5.745
Antigüedad: 18 años, 5 meses
Puntos: 281
Respuesta: ¿cómo puedo importar un txt de ancho fijo a MySQL?

Creo que estás preguntando en el foro equivocado. Pasa por el foro de PHP. ahí te podrán ayudar mejor.
__________________
Por fin.. tengo algo parecido a un blog
Y por lo visto ya estoy escribiendo...
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 18:55.