Foros del Web » Programando para Internet » PHP »

Altas

Estas en el tema de Altas en el foro de PHP en Foros del Web. Hola. Necesito orientación en la lógica que va a requerir esto. Voy a tratar de ser explícita y clara! Tengo una tabla con datos de ...
  #1 (permalink)  
Antiguo 07/10/2008, 19:46
Avatar de solecoza  
Fecha de Ingreso: julio-2006
Mensajes: 126
Antigüedad: 18 años, 4 meses
Puntos: 0
Altas

Hola. Necesito orientación en la lógica que va a requerir esto.
Voy a tratar de ser explícita y clara!

Tengo una tabla con datos de personas (id, apellido, fechanacim, lugarnacim, mid, midpadres, etc) genealogica. Es decir, se relacionan entre si con los ids de matrimonio y padres y etc.

En otra tabla tengo mis usuarios registrados. En algunos casos se corresponden con los de la tabla de personas, en ese caso, en la tabla usuarios aparece el rin de la tabla personas. Cada usuario tiene niveles de acceso.

Quiero que a partir del nivel 2, puedan ingresar datos propios o de familiares mediante un formulario que daría de alta los datos. Como quiero chequearlos antes, me recomendaron hacer una tabla espejo donde ingresen los datos temporalmente HASTA que yo los copie a la original.

Mi pregunta:

Como tendria que plantear el código para que si los datos que quieren dar de alta se correspondieran a alguien ya existente en la tabla personas, salga un aviso que diga "Esa persona ya existe", sobre todo siendo que en esa tabla hay gente que se llama igual....
En caso contrario, al guardar los datos en la tabla espejo....como se va a manejar el tema de los ID? Ya que son autoincrementales en la tabla personas.
Otra cosa, es que como los datos antes eran exportados de un programa genealógico mediante un .ged, los idmatrimonio, id matrimonio de los padres, etc, se relacionaban solos. Ahora no se como sería esto.

Bueno podria ser mas clara, pero como todavia no tengo claro yo como encarar esto, necesito un aventón!

Gracias de antemano!
  #2 (permalink)  
Antiguo 07/10/2008, 19:54
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Altas

Hola solecoza,

Lo mejor es que manejes un status en tu tabla, donde 0 signifique no autorizado y 1 autorizado, así todo lo insertas en la misma tabla y solo controlas los que ya estén autorizados al pasarlos en 1 y así puedes buscar el nombre en la misma tabla.

Saludos.
  #3 (permalink)  
Antiguo 07/10/2008, 20:02
Avatar de solecoza  
Fecha de Ingreso: julio-2006
Mensajes: 126
Antigüedad: 18 años, 4 meses
Puntos: 0
Respuesta: Altas

jdhkjdh
Me gusta pero no me queda claro. Comprendeme, estor engripada y con tanto sueño que apenas puedo entender jajajaja.
autorizado sería dato con mi "ok" y no autorizado el que aun no se chequeo.
Bien, pero, hasta que lo autorizo, queda a la vista en busquedas de personas dentro del site? O como lo mantendrías oculto??
Y los que ya estan agregados (150.000) los dejo sin esa variable verdad????
Ejemplillooooooooooo!
Pd: GRACIAS por tomarte tiempo en leerme.
  #4 (permalink)  
Antiguo 07/10/2008, 20:21
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Altas

Cuando hagas tu búsqueda añades una clausula where a tu consulta por ejemplo WHERE revisado=1, para que solo tome en cuenta los revisados.

Saludos.
  #5 (permalink)  
Antiguo 07/10/2008, 20:41
Avatar de solecoza  
Fecha de Ingreso: julio-2006
Mensajes: 126
Antigüedad: 18 años, 4 meses
Puntos: 0
Respuesta: Altas

Claro! Muy bueno, te agradezco sobremanera.
Te utilizo para otra consulta que no tiene tanto que ver pero es para el mismo sistema.
En el formulario para dar altas que mencioné antes, quiero que cuando vayan a llenar el campo "nombre madre" y "nombre padre" haya un label o algo donde ingreses parte del apellido y traiga la busqueda dentro de un combo box al lado del label.
En realidad te cuento lo que quiero hacer.
Para poder relacionar a la persona que damos de alta con padres de la tabla personas (si los tuviese), se me ocurrio usar esos combo box que te digo mas arriba, asi elegir a los respectivos padres, y al hacer el ENVIAR de las variables del formulario a mi base de datos, pasarle al IDmatrimoniopadres de la nueva persona el IDmatrimonio de alguno de sus padres que será el mismo.

Pero....COMO HAGOOO!??! Me cuesta pasar esto a código.

Última edición por solecoza; 07/10/2008 a las 20:47
  #6 (permalink)  
Antiguo 07/10/2008, 20:55
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Altas

Hola solecoza,

Para hacer eso necesitas AJAX, te invito a que vayas al foro de AJAX y en las FAQs del foro puedes aprender y ver ejemplos.

Saludos.
  #7 (permalink)  
Antiguo 08/10/2008, 20:30
Avatar de solecoza  
Fecha de Ingreso: julio-2006
Mensajes: 126
Antigüedad: 18 años, 4 meses
Puntos: 0
Respuesta: Altas

Como hago para hacer que el usuario dentro de un form (que es para dar altas de personas a una base) ponga el apellido de su madre en un campo de texto o similar, y eso ejecute una consulta de las personas que se llamen asi en mi base de datos, y las meta en una lista desplegable para elegir entre ellas, y hacer lo mismo pero con el conyugue?
Todo eso sin tocar el ENVIAR del formulario, que cuando queden elegidos de esas listas desplegables las opciones correctas y llenos los demas campos requeridos, ahi si al presionar ENVIAR se guarde el nuevo registro.
Gracias!
  #8 (permalink)  
Antiguo 08/10/2008, 22:23
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Altas

Como te comente lo haces con AJAX, ve las FAQs del foro de AJAX para que aprendas a usar esa herramienta y puedas realizar lo que pides.

Saludos.
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 22:30.