Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/09/2009, 12:34
jairnovi
 
Fecha de Ingreso: septiembre-2009
Mensajes: 1
Antigüedad: 14 años, 8 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