Foros del Web » Programando para Internet » PHP »

sincronizacion xml importado y BD

Estas en el tema de sincronizacion xml importado y BD en el foro de PHP en Foros del Web. Hola a todos!! Estoy desarrollando un proyecto bastante grande con PHP y me encuentro ante un gran problema. Tengo que importar datos de curriculums de ...
  #1 (permalink)  
Antiguo 07/11/2005, 09:57
 
Fecha de Ingreso: julio-2003
Ubicación: Sevilla
Mensajes: 86
Antigüedad: 20 años, 9 meses
Puntos: 0
Sincronizacion datos importados y almacenados

Hola a todos!!

Estoy desarrollando un proyecto bastante grande con PHP y me encuentro ante un gran problema. Tengo que importar datos de curriculums de xml pero antes de insertarlos en la BD tengo que comparar cada dato con el que ya estaba almacenado en la BD. A continuación tengo que preguntarle al usuario cual de esos datos quieres sobreescribir y finalmente almacenar los datos indicados en la BD.

¿Cómo puedo automatizar este proceso? Fijaos que un curriculum puede ser infinito. ¡Puede tener n publicaciónes, n proyectos, n trabajos...

Espero puedan ayudarme

Gracias
__________________
"Quiero saber de todo.....y no se nada"
  #2 (permalink)  
Antiguo 07/11/2005, 10:31
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Siempre que trabajes esos documentos en XML dá igual que tantos apartados tenga el mismo .. El formato lo define tu XML y así lo puedes "parsear" comodamente con PHP y sus funciones de XML: www.php.net/xml

Con eso ya podrás leer tu documento XML .. identificar tu dato y gestionar lo que necesites como esas validaciones y similares.

Un saludo,
  #3 (permalink)  
Antiguo 08/11/2005, 02:08
 
Fecha de Ingreso: julio-2003
Ubicación: Sevilla
Mensajes: 86
Antigüedad: 20 años, 9 meses
Puntos: 0
sincronizacion xml importado y BD

Hola a todos,

Mande una duda ayer pero creo que no deje claro mi problema.
Necesito importar datos de un xml para almacenarlos en un BD (hasta aquí ningun problema), ¿pero como puedo sincronizar la información importada y la que ya estaba almacenada en la BD?
¿Debe ser una comparación campo a campo y se debe permitir al usuario decidir que quieres sobreescribir u qué quiere dejar tal y como estaba.

Gracias por adelantado
__________________
"Quiero saber de todo.....y no se nada"
  #4 (permalink)  
Antiguo 08/11/2005, 05:54
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Si no quedó claro tu pregunta o tienes algo más que aportar sobre tu tema . .no digas que "mandastes una duda tal día" y abras un nuevo tema .. Continua el hilo de tus temas abiertos!.

Un saludo,
  #5 (permalink)  
Antiguo 08/11/2005, 05:58
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por kaslimon
Hola a todos,

Mande una duda ayer pero creo que no deje claro mi problema.
Necesito importar datos de un xml para almacenarlos en un BD (hasta aquí ningun problema), ¿pero como puedo sincronizar la información importada y la que ya estaba almacenada en la BD?
¿Debe ser una comparación campo a campo y se debe permitir al usuario decidir que quieres sobreescribir u qué quiere dejar tal y como estaba.

Gracias por adelantado
Pero ..

* Tu ya sabes leer tu .XML e identificar su estructura? ("parsearlo") con PHP?

Si dices que tiene que existir intervención humana para cierta validación de esos datos y/o edición, tendrás que trabajar esos datos como si los ingresases a mano por tus formularios HTML o como corresponda (realmente el sistema se puede extender tanto como quieras).

La validación para esa "sincronización" de esta forma que vas a trabajar los datos tendrá que ser "campo a campo" .. Pero todo esto depende de tus datos .. No sé si eventualmente un "registro" puede ser modificado en uno de esos campos .. y actualizarlo en tu BD .. o se añaden si no existen .. o todo a la vez ..

Intenta exponer bien claro lo que YA sabes hacer y preguntar dudas concretas.

Un saludo,
  #6 (permalink)  
Antiguo 08/11/2005, 06:54
 
Fecha de Ingreso: julio-2003
Ubicación: Sevilla
Mensajes: 86
Antigüedad: 20 años, 9 meses
Puntos: 0
Esta bien, concretaré algo más mi problema:

Tengo curriculos almacenados en la BD.Cada curriculum tiene datos personales, publicaciones (0..n), proyectos (0..n), méritos (0..n).
El usuario debe poder importar su curriculum desde XML. ESO SE HACERLO SIN PROBLEMAS. El problema es que el usuario debe ser informado de absolutamente todas las variaciones del curriculum importado con respecto al que ya tenía almacenado en la BD y debe confirmar qué desea sobreescribir y qué desea dejar como estaba.

Vease como ejemplo, la sincronización de agendas en dispositivos móviles. Antes de llevar a cabo la sincronización te informa de los contactos nuevos, los contactos modificados y te da opciones para importar según que cosa.

El problema viene en la comparación campo a campo que comenta cluster. Ten en cuenta que estamos hablando de comparación campo a campo de un número n de publicaciones, n proyectos...No se me ocurre la forma de automatizar el proceso. Por ejemplo, ¿que identificador le pongo a los checkbox que indican "sobreescribir"?. ¿Cómo itero en el procesamiento del formulario sobre un número de checkbox no conocido a priori? ¿Cómo sé a que dato se refiere el checkbox x?

Espero haber explicado mejor mi problema.

Gracias
__________________
"Quiero saber de todo.....y no se nada"
  #7 (permalink)  
Antiguo 08/11/2005, 07:02
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Por ejemplo, ¿que identificador le pongo a los checkbox que indican "sobreescribir"?. ¿Cómo itero en el procesamiento del formulario sobre un número de checkbox no conocido a priori? ¿Cómo sé a que dato se refiere el checkbox x?
Un checbox de HTML tiene su propiedad "value" para asignar un valor .. el cual "pasará" a tu script PHP cuando sea seleccionado (los que no se seleccionan no pasa su valor) .. Ahí puedes ya ir generando los checkbox con sus "ID's" de tus registros que vas a validar o ejecuatar la acción que necesites. SI necesitas más datos que adjuntar en "pararelo" a ese posible "ID" modificado puedes usar campos tipo "hidden" en tu formulario HTML que vas a generar que va a contener entre otras cosas tus checkbox.

Puedes ver un ejemplo de como trabajar todo este tema (de los checkbox) en esta FAQ:

http://www.forosdelweb.com/showthrea...710#post518710

Un saludo,
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 06:57.