Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Duda de como hacer esto

Estas en el tema de Duda de como hacer esto en el foro de Mysql en Foros del Web. Hola tengo una dudilla, tengo la siguiente estructura: -En busquedacontrato el campo "idcontrato" será incremental el cual se enviara a busquedapartes para relaccionar el campo ...
  #1 (permalink)  
Antiguo 02/02/2010, 06:51
 
Fecha de Ingreso: enero-2010
Mensajes: 46
Antigüedad: 14 años, 3 meses
Puntos: 0
Duda de como hacer esto

Hola tengo una dudilla, tengo la siguiente estructura:

-En busquedacontrato el campo "idcontrato" será incremental el cual se enviara a
busquedapartes para relaccionar el campo "idcontratro" con el contrato creado.

Lo que necesito es una idea de como se podria hacer si se podria hacer mediante inserta el campo "idcontrato" en las dos tablas que serian contrato y partes o relaccionarlas entre ellas, como podria relaccionar eso.
  #2 (permalink)  
Antiguo 02/02/2010, 07:05
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Duda de como hacer esto

Se inserta primero en la tabla principal, aquella en que el IDContrato es auto_increment, y luego se recupera el valor del ID por medio de LAST_INSERT_ID(). Ese valor se usa finalmente en la segunda tabla.
En PHP existe una función que directamente invoca ese recurso.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 03/02/2010, 05:32
 
Fecha de Ingreso: enero-2010
Mensajes: 46
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Duda de como hacer esto

no me queda muy claro la verdad gnzsoloyo tengo entendido que la sentencia mysql_insert_id recoge el ultimo parametro incremental pero lo que tengo son dos archivos
Crearcontrato.php
Crearparte.php

Entonces cada parte tiene que tener el mismo id que su contrato pero estos no se crean seguidamente es decir que mysql_insert_id "creo que no me valdria por que recoge el ultimo valor autoincremental insertado" no se si me sigues.

Un ejemplo ;

-Digamos que yo creo un contrato y tras este otro contrato el ultimo valor recogido de autoincremento partiendo del 0 seria el "2" y si quiero crear un parte recogeria ese "2" no el valor "1"

Última edición por xiskoct; 03/02/2010 a las 05:43
  #4 (permalink)  
Antiguo 04/02/2010, 02:43
 
Fecha de Ingreso: enero-2010
Mensajes: 46
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Duda de como hacer esto

¿Alguien me hecha una manita?. Gracias
  #5 (permalink)  
Antiguo 04/02/2010, 06:31
 
Fecha de Ingreso: enero-2010
Ubicación: Sevilla
Mensajes: 202
Antigüedad: 14 años, 2 meses
Puntos: 5
Respuesta: Duda de como hacer esto

Lo normal para lo que propones (insertar contratos y partes) es un mantenimiento Maestro-Detalle, donde el maestro es el contrato y el detalle la parte.

Primero llamas al formulario de edición de contratos y rellenas los campos necesarios para insertarlo en la BD.

Luego, cuando vayas a editar las partes puedes poner una lista desplegable para poder seleccionar un contrato de los existentes. Así cuando guardes la parte puedes rellenar el campo id_contrato con el valor seleccionado de la lista.

No es difícil.

Etiquetas: Ninguno
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 15:07.