Eliminar registro con foto en mysql con pdo

Para eliminar registro con una foto o archivo encrustrado, debemos proceder de la seguinte manera

1º- en la lista onde tenemos nuestro registro a eliminar, tendremos que tener un buton tipo enlace, que nos envie el id del registro a eliminar

        <a name="" id="" class="btn btn-danger"
        href="index.php?txtidEmpleado=<?php echo $registro['idEmpleado'] ?>"
         role="button">Eliminar</a>
    

La conexion a la base de datos es imprescendible cuando trabajamos con bases de datos

Conexion a la base de datos

...

Recebir el dato a eliminar

Cuando damos clic en el button eliminar hacemos un envio atravez de la url, entonces tendremos que recebir ese envio con el methodo GET e lo guardamos en una variable

if (isset($_GET['txtidEmpleado'])) {
    $txtId = $_GET['txtidEmpleado'];
    

Seguidamente hacemos una consulta a la base de datos para verificar que ese id es correcto, e si lo es lo guardamos en una variable $registro

$sql = ("SELECT foto, cv FROM tbl_empleados WHERE idEmpleado=:id"); //Creamos la consulta de la tabla
$stmt = $pdo->prepare($sql); //Preparamos esa consulta
$stmt->bindParam(':id', $txtId);
$stmt->execute(); //La ejecutamos
$registro = $stmt->fetch(PDO::FETCH_LAZY); //Creamos una variable con todos los registros
    

En este ejemplo como estamos tratando con imagens (foto) y archivos(cv), pues estamos seguiendo el ejemplo de la tabla empleados, descrito en la entrada insertar registro con foto en mysql con pdo

Entoces lo primero es elimiar la foto de la carpeta onde se encuentra

 if (isset($registro['foto']) && $registro['foto'] != '') {
     if (file_exists("./Imagens/" . $registro['foto'])) {
         unlink("./Imagens/" . $registro['foto']); //Borra este archivo
     }
 }
        

El archivo (cv) se elimina de la misma forma, solo hay que substituir el codigo anterior onde dice foto por cv

Lo unico que nos falta es eliminar el registro con la seguiente consulta

$sql = ("DELETE * FROM tbl_empleados WHERE idEmpleado=:id");
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':id', $txtId);
$stmt->execute();
    

Si algunos no quieren eliminar el empleado pero si cambiar de estatus de activo para no activo, se utiliza la consulta UPDATE e punto ya esta

 $sql = ("UPDATE tbl_empleados SET estatus=0 WHERE idEmpleado=:id");
 $stmt = $pdo->prepare($sql);
 $stmt->bindParam(':id', $txtId);
 $stmt->execute();
        






Publicar un comentario

0 Comentarios