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

116 visitas 0 respuestas

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:

<?php

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:

<?php

    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

Registrado desde: 4 meses

Respuestas

No existen respuestas para este tema