Insertar misma ID de una tabla en otra Tabla Mysql con PHP

0 votos
preguntado por insert
Saludos chicos, tengo este conflicto que por mas que busco no logro atinar a la respuesta.

Tengo una sentencia de Actualizacion y Vitacora que funciona perfectamente basicamente esta sentencia lo que hace es que lo que se actualiza en la INGRESO y alguno de sus datos se almacena tambien en la tabla VITACORA dejo el codigo que estoy empleando y que funciona perfectamente:

if(isset($_REQUEST['action']))

{

switch($_REQUEST['action'])

{

case 'actualizar':

$alm->__SET('id',          $_REQUEST['id']);

$alm->__SET('Rif',         strtoupper($_REQUEST['Rif']));

$alm->__SET('Nombre',      strtoupper($_REQUEST['Nombre']));

$alm->__SET('email',       strtolower($_REQUEST['email']));

$alm->__SET('Producto',    strtoupper($_REQUEST['Producto']));

$alm->__SET('sistema_enc', strtoupper($_REQUEST['sistema_enc']));

$alm->__SET('nro_cupon',   strtoupper($_REQUEST['nro_cupon']));

$alm->__SET('fecha_envio', $_REQUEST['fecha_envio']);

$alm->__SET('nota',        ($_REQUEST['nota']));

$model->Actualizar($alm);

header('Location: index.php');

$rif= $_REQUEST['Rif'];

$nombre= $_REQUEST['Nombre'];

$Email= $_REQUEST['email'];

$producto= $_REQUEST['Producto'];

$sistema_enc= $_REQUEST['sistema_enc'];

$nro_cupon= $_REQUEST['nro_cupon'];

$date = date_create($_REQUEST['fecha_envio']);

$fecha = date_format($date, 'd-m-Y');

$fecha_envio = $fecha;

$nota= $_REQUEST['nota'];

break;

public function Actualizar(Usuario $data)

{

try

{

$sql = "UPDATE ingreso SET

rif          = ?,

nombre        = ?,

email        = ?,

producto            = ?,

sistema_enc = ?,

nro_cupon = ?,

fecha_envio = ?,

nota = ?

WHERE id = ?";

$this->pdo->prepare($sql)

->execute(

array(

$data->__GET('Rif'),

$data->__GET('Nombre'),

$data->__GET('email'),

$data->__GET('Producto'),

$data->__GET('sistema_enc'),

$data->__GET('nro_cupon'),

$data->__GET('fecha_envio'),

$data->__GET('nota'),

$data->__GET('id')

)

);

$sql2 = "INSERT INTO vitacora (rif, nombre, producto, sistema_enc, nro_cupon, fecha_envio, nota, id) VALUES (?, ?, ?, ?, ?, ?, ?, ?)";

$this->pdo->prepare($sql2)

->execute(

array(

$data->__GET('Rif'),

$data->__GET('Nombre'),

$data->__GET('Producto'),

$data->__GET('sistema_enc'),

$data->__GET('nro_cupon'),

$data->__GET('fecha_envio'),

$data->__GET('nota'),

$data->__GET('id')

)

);

}

catch (Exception $e)

{

die($e->getMessage());

}

}

Pero al querer hacer lo mismo con la sentencia Registro no obtengo los mismos resultados logicamente eso sucede porque el id que se genera para la INGRESO no he logrado tomarla e insertarla en la VITACORA dejo el codigo que intente emplear:

case 'registrar':

$alm->__SET('Rif',          strtoupper($_REQUEST['Rif']));

$alm->__SET('Nombre',       strtoupper($_REQUEST['Nombre']));

$alm->__SET('email',        strtolower($_REQUEST['email']));

$alm->__SET('Producto',     $_REQUEST['Producto']);

$alm->__SET('sistema_enc',  strtoupper($_REQUEST['sistema_enc']));

$alm->__SET('nro_cupon',    $_REQUEST['nro_cupon']);

$alm->__SET('fecha_envio',  $_REQUEST['fecha_envio']);

$alm->__SET('nota',         ($_REQUEST['nota']));

$model->Registrar($alm);

header('Location: index.php');

$rif= $_REQUEST['Rif'];

$nombre= $_REQUEST['Nombre'];

$Email= $_REQUEST['email'];

$producto= $_REQUEST['Producto'];

$sistema_enc= $_REQUEST['sistema_enc'];

$nota= $_REQUEST['nota'];

break;

public function Registrar(Usuario $data)

{

try

{

$sql = "INSERT INTO ingreso (rif,nombre,email,producto,sistema_enc,nro_cupon,fecha_envio,nota)

VALUES (?, ?, ?, ?, ?, ?, ?, ?)";

$this->pdo->prepare($sql)

->execute(

array(

$data->__GET('Rif'),

$data->__GET('Nombre'),

$data->__GET('email'),

$data->__GET('Producto'),

$data->__GET('sistema_enc'),

$data->__GET('nro_cupon'),

$data->__GET('fecha_envio'),

$data->__GET('nota'),

)

);

$sql2 = "INSERT INTO vitacora (rif, nombre, producto, sistema_enc, nro_cupon, fecha_envio, nota, id) VALUES (?, ?, ?, ?, ?, ?, ?, ?)";

$this->pdo->prepare($sql2)

->execute(

array(

$data->__GET('Rif'),

$data->__GET('Nombre'),

$data->__GET('Producto'),

$data->__GET('sistema_enc'),

$data->__GET('nro_cupon'),

$data->__GET('fecha_envio'),

$data->__GET('nota'),

$data->__GET('id')

)

);

} catch (Exception $e)

{

die($e->getMessage());

}

}

En la estructura de la tabla INGRESO la Key Primaria es id

En la estructura de la tabla VITACORA la Key Primaria es id_vitacora

Dentro de la tabla VITACORA esta una tabla de nombre id donde se debe almacenar la id asignada por la funcion REGISTRAR

Si pueden brindarme orientación de como puedo solucionar este caso, agradezco de antemano.

Por favor, accede o regístrate para responder a esta pregunta.

Bienvenido a Preguntas y respuestas para programadores o profesionales de la informática. Si tienes cualquier duda aquí obtendrás la respuesta.
...