Comunidad de diseño web y desarrollo en internet online

¿Cómo eliminar datos eliminados de una tabla y guardalos en otra con p

Citar            
MensajeEscrito el 09 Oct 2019 06:53 am
Hola a todos,
Soy nueva en este foro y también llevo poco programando con php, por eso os pido ayuda.Estoy trabajando con una base datos y php y me gustaría poder eliminar datos de una tabla y guardarlos en otra, de esta forma esos datos no los pierdo, porque los necesito, pero si que los quito de la vista del usuario.

Este es el código que muestra los datos en una tabla al usuario. Que puede eliminar y editar, pero cuando pincha en guardar, quisiera que esos datos se fuesen a otra tabla de la BBDD y se quitasen de esa tabla y por tanto de la vista del usuario. Espero que me podáis ayudar:

Código PHP :

<p>Resultados <?php echo $datos->num_rows; ?></p>
<div class="row table-responsive">
<table class="display" id="mitabla" border="1"  style="width:100%" >

<thead style='background-color:#292929;'>

    <th align="center"><font color=#FFFFFF>Marcar</th>
    <th align="left"><font color=#FFFFFF>Nº Cliente</th>
    <th align="left"><font color=#FFFFFF>Nombre completo</th>
    <th align="left"><font color=#FFFFFF>Zona de Ventas</th>
    <th align="left"><font color=#FFFFFF>Ramo Inicial</th>
    <th align="left"><font color=#FFFFFF>Ramo Definitivo</th>
    <th align="left"><font color=#FFFFFF>Tipo Contrato</th>
    <th align="left"><font color=#FFFFFF>Fecha Envío</th>
    <th align="left"><font color=#FFFFFF>Fecha Recepción</th>
    <th align="left"><font color=#FFFFFF>Contador (Fechas)</th>
    <th align="left"><font color=#FFFFFF>Comentarios </th>
    <th align="left"><font color=#FFFFFF>Anexo Contrato</th>
    <th align="left"><font color=#FFFFFF>Escalado Distrib.</th>
    <th align="left"><font color=#FFFFFF>% Bonus Distrib.</th>
    <th align="left"><font color=#FFFFFF>Factur Anual Distrib.</th>
    <th align="left"><font color=#FFFFFF>Anotaciones Internas</th>
    <th align="left"><font color=#FFFFFF>Anexo Interno</th>
    <th align="center"><font color=#FFFFFF>Editar</th>
    <th align="center"><font color=#FFFFFF>Borrar</th>
    <th align="center"><font color=#FFFFFF>Guardar</th>

</thead>

<?php while($d= $datos->fetch_object()):?>


    <tr>
    <td align="center"><input type="checkbox" name="casilla[]" value="<?php echo $d->id_contrpen; ?>"class="check"></td>

    <td align="left"><?php echo $d->noCliente; ?></td>
    <td align="left"><?php echo $d->nombreCliente;?></td>
    <td align="left"><?php echo $d->zv; ?></td>
    <td align="left"><?php echo $d->ramo; ?></td>
    <td align="left"><?php echo $d->ramoDef; ?></td>
    <td align="left"><?php echo $d->tipoContr ; ?></td>
    <td align="right"><?php echo $d->fechaEnvio; ?></td>
    <td align="right"><?php echo $d->fechaRecep; ?></td>
    <td align="left"><?php echo $d->contador; ?></td>
    <td align="left"><?php echo $d->comentarios; ?></td>
    <td align="left"><?php echo $d->anexo; ?></td>
    <td align="left"><?php echo $d->anexoDistrEscal; ?></td>
    <td align="left"><?php echo $d->anexoDistrBonus; ?></td>
    <td align="left"><?php echo $d->anexoDistrFact; ?></td>
    <td align="left"><?php echo $d->anotaciones; ?></td>
    <td align="left"><?php echo $d->anexoInter; ?></td>
    <td align="center"><a href="modificarContrPend.php?id_contrpen=<?php echo $d-> id_contrpen; ?>"><span class="glyphicon glyphicon-pencil"></span></a></td>
    <td align="center"><a href="#" data-href="eliminarContrPend.php?id_contrpen=<?php echo $d->id_contrpen; ?>" data-toggle="modal" data-target="#confirm-delete"><span class="glyphicon glyphicon-trash"></span></a></td>
    <td align="center"><a href="guardarContrPendBackup.php?id_contrpen=<?php echo $d->id_contrpen; ?>" ><span class="glyphicon glyphicon-floppy-disk"></span></a></td>
    </tr>

<?php endwhile; ?>
    <?php else:?>
    <h3>No hay Datos</h3>
    <?php endif; ?>


He creado un Trigger que podría hacer el trabajo, pero no me lleva los datos a la otra tabla, crea el registro pero vacio. Esta programado para BFORE DELETE Este es el trigger:

Código MySQL :

DROP TRIGGER IF EXISTS Contratos_Pendientes_Backup;CREATE DEFINER=cpses_djt2tjlsec@localhost TRIGGER Contratos_Pendientes_Backup BEFORE DELETE ON contratospendientes FOR EACH ROW INSERT INTO contratospendientesBackup (id_contrpen, noCliente, nombreCliente, zv, ramo, ramoDef, tipoContr, fechaEnvio, fechaRecep, contador, comentarios, anexo, anexoDistrEscal, anexoDistrBonus, anexoDistrFact, anotaciones, anexoInter, created_at) VALUES (contratospendientes.noCliente, contratospendientes.nombreCliente, contratospendientes.zv, contratospendientes.ramo, contratospendientes.ramoDef, contratospendientes.tipoContr, contratospendientes.fechaEnvio, contratospendientes.fechaRecep, contratospendientes.contador, contratospendientes.comentarios, contratospendientes.anexo, contratospendientes.anexoDistrEscal, contratospendientes.anexoDistrBonus, contratospendientes.anexoDistrFact, contratospendientes.anotaciones, contratospendientes.anexoInter)


Gracias de antemano a todos.

Por Monica GG

1 de clabLevel



 

chrome
Citar            
MensajeEscrito el 09 Oct 2019 12:07 pm
Hazo en una forma mucho mas simple, lo que en la mayoria de los sistemas se denomina como soft delete. es decir agregas una columna Tinyint en tu BD (1 o 0) y cuando borras algo lo marcas como borrado, en los selects agregas que esa columna no este a 1

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

chrome
Citar            
MensajeEscrito el 10 Oct 2019 08:30 am
Hola, lo primero agradecer tu respuesta.
He añadido el campo "eliminado" = 0 (por defecto) a la base de datos. Pero como marco el registro cuado lo borre coo borrado?

Por Monica GG

1 de clabLevel



 

chrome
Citar            
MensajeEscrito el 10 Oct 2019 11:52 am
Lo cambias a 1
1 = borrado
0 = visible

Luego en cualquier select agregas

where eliminado=0

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

chrome
Citar            
MensajeEscrito el 11 Oct 2019 10:10 am
Solucionado, muchas gracias por tu ayuda.

Por Monica GG

1 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.