Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/08/2003, 00:23
Avatar de davidMS
davidMS
 
Fecha de Ingreso: abril-2003
Ubicación: Chepe
Mensajes: 202
Antigüedad: 21 años
Puntos: 0
Cargando desde un archivo

Hola a todos....

Me gustaria que me ayudaran con esto:

1ro: Tengo una BD Mysql con 2 tablas, load y maestro.

2do, la bd se actualiza desde un archivo...

3ro: la tabla load hay que pasarla a maestro..

4to: son mas de 2000 registros...

El problema que se me presenta es que el archivo desde el cual se carga la bd de datos es plano y sin estructura, lo unico que es igual e exacto es el lenght de los campos, osea en el siguiente formato por ejemplo:

1- 23- 546 NOMBRE(con apellidos) CONTRATO MESPAGO
2- 24- 546 NOMBRE2 CONTRATO MESPAGO

Lo que tengo ahora es que jalo el archivo en un array, y como hay new line al final de cada registro en el archivo, el arreglo me queda en cada key la informacion de toda una lina (ID,NOMBRE,CONTRATO), y como el lenght de cada campo del archivo es definido con un for recorro cada key del arreglo agregando , y ""(por seguridad a la ora de cargar la db) y despues lo inserto en otro archivo local y lo agrego a la bd con load data in file (pues son muchos datos y hacer un query de insert se pega mucho)......
habra otra forma de hacer esto, pues este algoritmo es el mejor que encontre...

Despues, ahi no termina todo, resulta que en la otra tabla (MAESTRO) es casi una replica de load, con algunas modificaciones para agregar cambios pendientes, etc...

Load tiene que alimentar maestro, y el maximo problema esta en que en maestro, el campo de nombre, no es el mismo de load, pues tengo que agregar apellido1 y apellido2 a maestro, osea agarrar cada campo NOMBRE en LOAD, dividir el string en nombre,apellido1,apellido2 y insertarlo en la otra tabla.....

que es lo mejor, hacer una funcion para que separe el string en 3 variables, 3 mysql_querys para insertar en el campo correspondiente, y al final un array_walk con la funcion y el arreglo con todos los 2000 y pico registros?......o habra otra forma?

Si se preguntan del porque de este solemne desmadre es por el simple echo de que me solicitan que se pueda hacer busquedas por nombre, apellido o segundo apellido...

....... Pura vida!..