Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] PHP OO Ingresar datos desde php en un mismo formulario con 2 tablas relacionadas

Estas en el tema de Ingresar datos desde php en un mismo formulario con 2 tablas relacionadas en el foro de PHP en Foros del Web. Amigos: antes de hacer mi consulta quiero agradecer a todos los que responden y nos dan un minuto de tiempo en resolver nuestros problemas. Tengo ...
  #1 (permalink)  
Antiguo 06/04/2015, 14:50
Avatar de cortess_13  
Fecha de Ingreso: abril-2015
Ubicación: Tijuana
Mensajes: 14
Antigüedad: 9 años, 7 meses
Puntos: 0
Ingresar datos desde php en un mismo formulario con 2 tablas relacionadas

Amigos:

antes de hacer mi consulta quiero agradecer a todos los que responden y nos dan un minuto de tiempo en resolver nuestros problemas.

Tengo una tabla llamada Cliente (id_cliente,nombre,apellidopaterno,apmaterno,direc cion, telefono) y en otra tabla guardo las personas que instalaron en dicha reservacion: (id_reservacion,FechaEntrada,FechaSalida,fk_id_cli ente) lo que requiero es que todo este en un mismo formulario y que se guarde en las dos tablas y que quede relacionado..

Y esto lo quiero insetar desde un mismo formulario el cual esta de la siguiente manera

--------------------------------------------------------
Nombre: -------------
Apellidos Paterno-----------------
Apellido Materno-----------------
Direccion: -------------
Telefono: ----------------
Entrada: ---------------
Salida:-----------------
-------------------------------------------------------------
-----------------------------
ENVIAR RESERVACION <-- BOTON
------------------------------


-- el id_cliente como autoincrementable po esa razon no la pongo en el formulario ya que cada cuando alguien se registre le asignara un id automaticamente
-- id_ reservacion autincrementable igual para la reservacion
osea de que quiero que quedara asi ejemplo

TABLA CLIENTE:
(id_cliente,nombre,apellidopaterno,apmaterno,direc cion, telefono)
1 , Juan, Lopez, Martinez. , olivos , 33333

TABLA RESERVACION
(id_reservacion,FechaEntrada,FechaSalida,fk_id_cli ente)
1 , 2015-02-10, 2015-02-12 , 1 --> foreing key quecorresponde ala tabla cliente


ESTE ES EL CODIGO QUE ACTUALMENTE ESTOY USANDO PARA LA INSERCION EN PHP
LO QUE QUIERO SABER COMO OBTENGO EL ID DEL CLIENTE QUE SE REGISTRA EN ESE MOMENTO PARA PODER ASIGNARLO EN EL QUERY PARA LA INSERCION EN LA TABLA RESERVACION ....

Código PHP:
 <?php
    
require('conexion.php'); 
 
    if(isset(
$_POST['send']))
    {
         
            
$nombre $_POST['nombre'];
            
$appaterno $_POST['appaterno'];
            
$apmaterno $_POST['apmaterno']; 
            
$direccion $_POST['direccion']; 
            
$phone $_POST['phone']; 
            
$phone $_POST['entrada']; 
            
$phone $_POST['salida']; 
          
            
 
 
$sql "INSERT INTO `cliente` (`cli_nombre`,`cli_paterno`,`cli_materno`,`direccion`,`telefono`) VALUES ('{$_POST['nombre']}','{$_POST['appaterno']}','{$_POST['apmaterno']}','{$_POST['direccion']}','{$_POST['phone']}')";
                
                
mysql_query($sql) or die(mysql_error()); 
                

                
    
$sql1 "INSERT INTO `reservacion` (`fecha_entrada`,`fecha_salida,`fk_id_cliente`) 
values  ('{$_POST[entrada' ']}','{$_POST['salida']}','{$_POST['']}');
                
 
           
        }
    
?>

AGRADESCO SUS REPUESTAS POR FAVOR SAQUEN ME DE ESTO QUE ME ATORE ...

Última edición por cortess_13; 06/04/2015 a las 15:21
  #2 (permalink)  
Antiguo 06/04/2015, 16:09
 
Fecha de Ingreso: noviembre-2007
Mensajes: 45
Antigüedad: 17 años
Puntos: 0
Respuesta: Ingresar datos desde php en un mismo formulario con 2 tablas relacionadas

En el segundo INSERT pones la función LAST_INSERT_ID() para fk_id_cliente. Esta función te devuelve el ID generado automáticamente del último INSERT ejecutado.

Código SQL:
Ver original
  1. $sql1 = "INSERT INTO `reservacion` (`fecha_entrada`,`fecha_salida,`fk_id_cliente`)
  2. values  ('{$_POST[entrada' ']}','{$_POST['salida']}',LAST_INSERT_ID());
  #3 (permalink)  
Antiguo 06/04/2015, 21:11
Avatar de cortess_13  
Fecha de Ingreso: abril-2015
Ubicación: Tijuana
Mensajes: 14
Antigüedad: 9 años, 7 meses
Puntos: 0
Respuesta: Ingresar datos desde php en un mismo formulario con 2 tablas relacionadas

MIRA YA REALIZE ESTO YA QUE DE LA MANERA QUE LO ESTABA HACIENDO COMO ME COMENTASTE ME DABA CONFLICTOS
PERO CON ESTO SI ME AGUARDA EN LA TABLA CLIENTE Y CON EL PRINF OBTENGO EL ID

--> PERO EN LA TABLA RESERVACION DENTRO DE LA BASE DE DATOS NO AGUARDA NADAAA , QUE HABRE HECHO MAL

Código PHP:
Ver original
  1. $sql = "INSERT INTO cliente (cli_nombre,cli_paterno,cli_materno,direccion,telefono) ".
  2.         "VALUES ('$nombre','$appaterno','$apmaterno','$direccion','$phone')";
  3.         $mysqli->query($sql);
  4.        
  5.         printf ("Nuevo registro con el id %d.\n", $mysqli->insert_id);
  6.                
  7.  $sql1 = "INSERT INTO reservacion (res_entrada,res_salida,pk_id_cliente) ".
  8.                 "VALUES ('$entrada', '$salida','$mysqli->insert_id')";

Última edición por cortess_13; 06/04/2015 a las 23:30
  #4 (permalink)  
Antiguo 07/04/2015, 11:27
 
Fecha de Ingreso: noviembre-2007
Mensajes: 45
Antigüedad: 17 años
Puntos: 0
Respuesta: Ingresar datos desde php en un mismo formulario con 2 tablas relacionadas

Prueba guardar primero el valor que devuelve $mysqli->insert_id en una variable y luego pasa esa variable a la segunda consulta.

Código PHP:
Ver original
  1. $ultimoID = $mysqli->insert_id;
  2.  
  3. $sql1 = "INSERT INTO reservacion (res_entrada,res_salida,pk_id_cliente) ".
  4.                 "VALUES ('$entrada', '$salida','$ultimoID')";
  #5 (permalink)  
Antiguo 07/04/2015, 17:42
Avatar de cortess_13  
Fecha de Ingreso: abril-2015
Ubicación: Tijuana
Mensajes: 14
Antigüedad: 9 años, 7 meses
Puntos: 0
Respuesta: Ingresar datos desde php en un mismo formulario con 2 tablas relacionadas

Gracias amigo y atodos por sus respuestas saludoss ya lo logre solucionar.

Etiquetas: fecha, formulario, mysql, mysql+php, registro, relacionadas, sql, 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 09:28.