Foros del Web » Programando para Internet » PHP »

Insertar datos en 2 tablas asociadas en un formulario

Estas en el tema de Insertar datos en 2 tablas asociadas en un formulario en el foro de PHP en Foros del Web. Buenos dias soy nuevo en php y quisiera que me ayuden, lo que pasa que tengo un formulario donde me permite ingresar datos, en ese ...
  #1 (permalink)  
Antiguo 20/11/2015, 12:07
 
Fecha de Ingreso: noviembre-2015
Mensajes: 5
Antigüedad: 8 años, 5 meses
Puntos: 0
Insertar datos en 2 tablas asociadas en un formulario

Buenos dias soy nuevo en php y quisiera que me ayuden, lo que pasa que tengo un formulario donde me permite ingresar datos, en ese formulario hay dos tablas el cual son solicitante, ticket. En la tabla solicitante se guardan datos del solicitante y en ticket se guardan el resto de datos del formulario ya que el sistema es de ticket. Al momento de ingresar los datos y guardarlos solo guarda en la tabla SOLICITANTE, pero en la tabla TICKET no, ya que el id de la tabla SOLICITANTE es una llave foránea de la tabla TICKET. Porfavor podran ayudarme ya que estoy con este tema muy cabezón. Gracias
  #2 (permalink)  
Antiguo 20/11/2015, 13:20
Avatar de AlejandraLara  
Fecha de Ingreso: octubre-2015
Mensajes: 115
Antigüedad: 8 años, 6 meses
Puntos: 19
Respuesta: Insertar datos en 2 tablas asociadas en un formulario

Si enseñas tus consultas y las estructuras de tus tablas quizá sea más sencillo entenderte :)
__________________
Si le das el código hecho a alguien nunca va a aprender ni te dará las gracias, si le dices como hacerlo aprenderá y te dará las gracias (algún día).
  #3 (permalink)  
Antiguo 20/11/2015, 23:29
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Insertar datos en 2 tablas asociadas en un formulario

Saludo.
Pues para eso, antes de hacer el insert en TICKET se debe obtener el último id insertado en SOLICITANTE.
Cuestión de usar last insert , o hacer un max a SOLICITANTE, y el resultado de esta consulta pasarselo a TICKET en el campo adecuado.
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #4 (permalink)  
Antiguo 23/11/2015, 12:46
 
Fecha de Ingreso: noviembre-2015
Mensajes: 5
Antigüedad: 8 años, 5 meses
Puntos: 0
Respuesta: Insertar datos en 2 tablas asociadas en un formulario

Cita:
Iniciado por AlejandraLara Ver Mensaje
Si enseñas tus consultas y las estructuras de tus tablas quizá sea más sencillo entenderte :)
Buenas Alejandra, agradezco por responder pero aqui te muestro el codigo si, me olvide indicar que el id es auto incrementado. Me permite guardar en la primera tabla Solicitante, pero en la tabla Ticket el cual tiene el idSolicitante como llave foranea no guarda en dicha tabla y me muestra el siguente error: mysql_insert_id() expects parameter 1 to be resource, boolean given in C:\wamp\www\sistema_web\ingreso.php on line 30(esta resaltado la linea que hace referencia). Porfavor poder ayudarme. Gracias

$nombres=$_POST['nombres'];
$apePat=$_POST['apePat'];
$apeMat=$_POST['apeMat'];
$dni=$_POST['dni'];
$modulo=$_POST['modulo'];
$tipProb=$_POST['tipProb'];
$detProb=$_POST['detProb'];

$query1=mysql_query("insert into solicitante (apePaterno, apeMaterno, nombres, dni) values ('$apePat','$apeMat','$nombres','$dni')");

$ins1=mysql_insert_id($query1);


mysql_query("insert into ticket (idSolicitante, modulo, UE, tipoProb, detProb) values ('$ins1','$modulo','$tipProb','$detProb')");

echo "<script> alert('Ticket Registrado Correctamente');</script>";
  #5 (permalink)  
Antiguo 23/11/2015, 12:51
 
Fecha de Ingreso: noviembre-2015
Mensajes: 5
Antigüedad: 8 años, 5 meses
Puntos: 0
Respuesta: Insertar datos en 2 tablas asociadas en un formulario

Cita:
Iniciado por mortiprogramador Ver Mensaje
Saludo.
Pues para eso, antes de hacer el insert en TICKET se debe obtener el último id insertado en SOLICITANTE.
Cuestión de usar last insert , o hacer un max a SOLICITANTE, y el resultado de esta consulta pasarselo a TICKET en el campo adecuado.
Buen Dia moriprogramador, gracias por responder mi consulta pero no me queda muy claro aun cabe indicar que soy nuevo en esto, pero aca te muestro el codigo, y el id de cada tabla es auto incrementada, pero solo llega a guardar los datos de la tabla SOLICITANTE pero en la tabla TICKET no se ingresa nada y me muestra el siguente error: mysql_insert_id() expects parameter 1 to be resource, boolean given in C:\wamp\www\sistema_web\ingreso.php on line 30(la linea indicada esta resaltada). Bueno espero su respuesta muchas gracias.

$nombres=$_POST['nombres'];
$apePat=$_POST['apePat'];
$apeMat=$_POST['apeMat'];
$dni=$_POST['dni'];
$modulo=$_POST['modulo'];
$tipProb=$_POST['tipProb'];
$detProb=$_POST['detProb'];

$query1=mysql_query("insert into solicitante (apePaterno, apeMaterno, nombres, dni) values ('$apePat','$apeMat','$nombres','$dni')");

$ins1=mysql_insert_id($query1);


mysql_query("insert into ticket (idSolicitante, modulo, UE, tipoProb, detProb) values ('$ins1','$modulo','$tipProb','$detProb')");

echo "<script> alert('Ticket Registrado Correctamente');</script>";
  #6 (permalink)  
Antiguo 23/11/2015, 15:31
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Insertar datos en 2 tablas asociadas en un formulario

Saludo.
Pues eso es porque mysql_insert_id no espera ningún parámetro
de entrada, pero se le está enviando el result query1, solo no lo use,
es decir, deje la llamada a esa función sin parámetro de entrada alguno.


__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com

Etiquetas: formulario, tabla, tablas
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 21:13.