Foros del Web » Programando para Internet » PHP »

Registro de datos en BD desde FORM en php

Estas en el tema de Registro de datos en BD desde FORM en php en el foro de PHP en Foros del Web. Tengo una BD en mysql, con formulario de ingreso de datos en php. Dentro de la BD estan las tablas ENTREGA (no_entrega, descripción, fecha_entrega) PERSONA ...
  #1 (permalink)  
Antiguo 06/01/2006, 16:23
 
Fecha de Ingreso: diciembre-2005
Ubicación: colombia
Mensajes: 24
Antigüedad: 12 años
Puntos: 0
Registro de datos en BD desde FORM en php

Tengo una BD en mysql, con formulario de ingreso de datos en php.

Dentro de la BD estan las tablas
ENTREGA (no_entrega, descripción, fecha_entrega)
PERSONA (id, nombre, ...)

ENTREGA tiene como llave foránea el id de PERSONA

En el formulario de ingreso de datos, entran los datos para llenar las dos tablas, para lo cual hay dos INSERT:
INSERT INTO PERSONA id, nombre....
y luego INSERT INTO ENTREGA fecha_entrega, descripción....

Hasta ahora se llena toda la información de persona y se ingresa correctamente en la tabla, pero cuando pasa al segundo INSERT (entrega), aparece un error, y dice q las variables son desconocidas..

Además, se supone q como el ID PERSONA es FK en entrega, se debería guardar el mismo en las dos tablas y no lo hace...

Alguien me puede asesorar en esto??
  #2 (permalink)  
Antiguo 06/01/2006, 16:32
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 12 años, 9 meses
Puntos: 33
De acuerdo

Se pusieras tu código te podrian ayudar de mejor manera!
  #3 (permalink)  
Antiguo 06/01/2006, 20:46
Avatar de Jorgemen  
Fecha de Ingreso: mayo-2005
Ubicación: Perú
Mensajes: 322
Antigüedad: 12 años, 7 meses
Puntos: 1
recupera el id

yo lo que hago es :
al insertar en una tabla de la cual necesito el id para llenar la siguiente, por qu es FK, primero inserto, pero recupero el id con que se guardo, y este id lo inserto recién en el segundo insert..
  #4 (permalink)  
Antiguo 07/01/2006, 13:48
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Para lo que comenta Jorgemen puedes usar la función:

mysql_insert_id()

El procedimineto de uso sería:

1) Crear el registro en tu tabla "padre":
INSERT INTO tabla1_padre ... blablabla
2) Obtener el último ID autonumérico generado por la sentencia SQL "INSERT" anterior:
mysql_insert_id() ...
3) Crear el registro en la tabla "hija" usando el "ID" que obtuvimos en el uso de mysql_insert_id() sobre el campo "FK" (Clave foránea) que hemos definido en nuestra tabla "hija".

más info:
http://www.php.net/mysql_insert_id

Un saludo,
  #5 (permalink)  
Antiguo 07/01/2006, 15:27
 
Fecha de Ingreso: diciembre-2005
Ubicación: colombia
Mensajes: 24
Antigüedad: 12 años
Puntos: 0
probaré para ver si funciona...
gracias!!
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 01:00.