FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
ayuda para insercciones en php despues de descomponer un archivo .txt
buenas tardes compañeros logre separar campo a campo un archivo de txt, pero ahora me veo en la problematica de las insercciones debido a la estructura que tiene el archivo la estructura mas sencilla de este archivo es como esto lo que pinto de color rojo es lo que ira en la parte del maestro de la tabla, lo de azul va en la parte del detalle, cada booking es un registro nuevo maestro-detalle.
Código:
Comp. code : PVRTRA Timon Tours Airport Transfers Category : ALLE Return Transfers to Club Marival Resort From date : 14-AUG-2010 No Booking Conf Pax name 1 607872(2) MR NURANEY, NIZAR MRS NURANEY, SALMA MS NURANEY, NAVIDA MR NGUYEN, KHANG QUOC MRS VELJI, ZOREEN MR VELJI, MEBS + CHLD MSTR VELJI, IMRAN Age:7 + CHLD MISS VELJI, JAIDE Age:4 -> 7 PF 14-AUG-10 WS2306 YEG/PVR DEP 10:45 ARR 16:46 8 PF 21-AUG-10 WS2307 PVR/YEG DEP 17:35 ARR 21:36 No Booking Conf Pax name 2 631974(6) MR OGBEBOR, JOSEPH MRS OGBEBOR, OYINDAMOLA + CHLD MSTR OGBEBOR, PAUL Age:10 + CHLD MSTR OGBEBOR, JOSEPH OSASUEHI Age:8 + CHLD MISS OGBEBOR, GABRIELLE Age:6 -> 7 PF 14-AUG-10 WS2306 YEG/PVR DEP 10:45 ARR 16:46 8 PF 21-AUG-10 WS2307 PVR/YEG DEP 17:35 ARR 21:36 Código:
Comp. code : PVRTRA Timon Tours Airport Transfers Category : ALLE Return Transfers to Club Marival Resort From date : 14-AUG-2010 No Booking Conf Pax name 1 607872(2) MR NURANEY, NIZAR MRS NURANEY, SALMA MS NURANEY, NAVIDA MR NGUYEN, KHANG QUOC MRS VELJI, ZOREEN MR VELJI, MEBS + CHLD MSTR VELJI, IMRAN Age:7 + CHLD MISS VELJI, JAIDE Age:4 No Booking Conf Pax name 2 631974(6) MR OGBEBOR, JOSEPH MRS OGBEBOR, OYINDAMOLA + CHLD MSTR OGBEBOR, PAUL Age:10 + CHLD MSTR OGBEBOR, JOSEPH OSASUEHI Age:8 + CHLD MISS OGBEBOR, GABRIELLE Age:6 -> 7 PF 14-AUG-10 WS2306 YEG/PVR DEP 10:45 ARR 16:46 8 PF 21-AUG-10 WS2307 PVR/YEG DEP 17:35 ARR 21:36 Código:
-> 7 PF 14-AUG-10 WS2306 YEG/PVR DEP 10:45 ARR 16:46 8 PF 21-AUG-10 WS2307 PVR/YEG DEP 17:35 ARR 21:36 gracias por cualquier comentario |
#2
|
||||
|
||||
no se... y si almacenas todo en un objeto como primer paso y luego desde el objeto haces las operaciones de inserción?
__________________
Buena caza y buen remar... http://mivaler.blogspot.com |
#3
|
||||
|
||||
movorack gracias por la respuesta pero como que tipo de objeto se te ocurre??
|
#4
|
||||
|
||||
creo que te faltan campos, lo que marcas con rojo no son candidatos a campos ya que por ejemplo, hay algunos menores que aparecen ahi y sus datos no tienen columna, eso hay que tomarlo en cuenta.
Ahora bien, tu problemas sencillo, lees todos los datos de cada reservación y los guardas momentaneamente en una estructura o archivo temporal hasta que encuentres la información que "cierra" la reservación (booking). Es decir después de leer y guardar el texto del booking esperaras encontrar como primeros caracters ya sea un "->" indicando que ahi termina ese registro con los datos de su salida y llegada o bien un "No" que indica que hay otro registro más que comparte los mismos datos. O en términos más claros, si encuentro un "->" leo las dos líneas y grabo el registro completo con sus datos, si encuentro un "No" sigo leyendo y guardando lo que encuentre hasta que me tope con un "->", entonces guardo todo lo que haya tenido almacenado previamente y lo asocio con ese dato de salida y regreso.
__________________
AKA "El animalito" ||Cordobés a mucha honra|| |
#5
|
||||
|
||||
Cita:
hola AzidRain gracias por la respuesta., bueno lo primero que comentas del desmenbre de los datos eso ya lo tengo solucionado y pues valla lo que describes es exactamente lo que uso para hacer le desmenbre de los datos, la cuestion es que igual y no me explique bien cada booking es una inserccion en la tabla maestros, los integrates de cada booking van al detalle, valla sera algo tan facil que mi cerebro no logra hilarlo . |
#6
|
||||
|
||||
hola que tal ya logre hacer otra cadena basado en el archivo mencionado ahora me surge otra duda de como separar la nueva cadena, he estado viendo que la funcion explode me puede ayudar pero no logro hacer la funcion que me ayude hacer dicho proceso anexo la nueva cadena que forme.
delimitadores para la nueva cadena Código:
#**************************************************** # ¬ "separador para el hotel" * # # "separador del booling" * # ; "separador del nombre" * # [] "separador acompañantes adulto" * # {} "separador acompañantes niños" * # ° "separador info vuelo" * #**************************************************** Código:
Club Marival Resort ¬ 607872# MR NURANEY, NIZAR ; [ MRS NURANEY, SALMA - MS NURANEY, NAVIDA - MR NGUYEN, KHANG QUOC - MRS VELJI, ZOREEN - MR VELJI, MEBS -] { + CHLD MSTR VELJI, IMRAN Age:7 - + CHLD MISS VELJI, JAIDE Age:4 -} ° 8? Club Marival Resort ¬ 631974# MR OGBEBOR, JOSEPH ; [ MRS OGBEBOR, OYINDAMOLA -] { + CHLD MSTR OGBEBOR, PAUL Age:10 - + CHLD MSTR OGBEBOR, JOSEPH OSASUEHI Age:8 - + CHLD MISS OGBEBOR, GABRIELLE Age:6 -} -> 7 PF 14-AUG-10 WS2306 YEG/PVR DEP 10:45 ARR 16:46 | 8 PF 21-AUG-10 WS2307 PVR/YEG DEP 17:35 ARR 21:36 |° 5? |
#7
|
||||
|
||||
Es como te digo, entiendo que en efecto cada booking te va a representar un registro maestro y los pasajeros serán el detalle del booking. Con base en el archivo txt que pones, cada booking puede compartir o no datos de salida y regreso. El algoritmo que te comenté es el correcto solo tienes que desglosarlo y aplicarlo y te va a funcionar.
__________________
AKA "El animalito" ||Cordobés a mucha honra|| |
#8
|
||||
|
||||
gracias azidrain en efecto ese es el algoritmo que uso si te fijas las nuevas cadenas que he formado ya estan listas para ser separadas e insertadas, ahora lo que pienso hacer es
1.- primeramente el caracter "?" me indica que ahi termina un booking, dicha cadena ya trae todos los datos (excepto la info de vuelo cuando es compartida entre varios booking). 2.- despues de que separe la cadena en un arreglo tengo que buscar el caracter "->" que me indica que el booking esta completa (no comparte informacion de vuelo con otro booking) y hacer la inserccion si comparte el booking tengo que recorrer el arreglo hasta que encuentre el caracter que me indica el vuelo insertoy tengo que regresar el arreglo para insertar los booking que quedaron atras. pero el problema es que no tengo mucha experiencia con esas funciones bueno seguire investigando |
#9
|
||||
|
||||
Mmm, creo que no hay necesidad de meter todo en un array y de ahi partir, lo podrías hacer con una estructura tipo record, leer las lineas, analizarlas, guardar los datos en el record y continuar.
__________________
AKA "El animalito" ||Cordobés a mucha honra|| |
#10
|
||||
|
||||
mmm valla me empiezo confundir entones cres que es mejor leer la linea e insertarla directamente a la bd??, pero como controlarias los booking que comparten informacion de vuelo??
|
#11
|
||||
|
||||
Nooo...la linea la lees la analizas y la la guardas en una estructura,digamos un record o un array lo que mejor te acomode. Sigues leyendo hasta detectar si hay otro registro o bien encuentras los datos del vuelo. Si encuentras los datos del vuelo todo lo que tengas en tu estructura lo pasas a la BD asociándola con el vuelo correspondiente (pueden ser una o mas reservaciones). Está relativamente sencillo, no veo donde te atoras.
__________________
AKA "El animalito" ||Cordobés a mucha honra|| |
#12
|
||||
|
||||
valla eso es exactemente lo que describo arriba tal ves no me explique bien, en lo que me atoro es en el manejo de arreglos jeje hace tiempo que no usaba esas estructuras de hecho nunca las he usado en php.
|
#13
|
||||
|
||||
Ya caigo..estaba pensando en Delphi..
jiji
__________________
AKA "El animalito" ||Cordobés a mucha honra|| |
#14
|
||||
|
||||
jaja si en delphi se me haria mas facil pero valla requerimiento es requerimiento asi es que lo tendre que sacar en php jaja
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Descomponer Fecha | darkborrego | Varios | 9 | 26-06-2010 02:16:59 |
Descomponer nombre y apellidos | lgarcia | SQL | 4 | 15-04-2009 22:16:37 |
Alguna herramienta para generar un archivo de ayuda? | eldiegofg | Varios | 2 | 07-09-2007 02:19:31 |
Evento despues de descargar un archivo | Arcioneo | HTML, Javascript y otros | 2 | 19-07-2007 19:29:19 |
archivo de ayuda para las RxLib 2005 | Johnny Q | OOP | 7 | 09-09-2005 21:23:08 |
|