Eliminar registros de una tabla responde a la última acción de CRUD, Delete.
El archivo «delete.php» deberá eliminar un único registro de nuestra tabla segun su identificador.
En nuestro caso, para desencadenar la eliminación de un solo registro de nuestra tabla, lo hacemos presionando el botón «Eliminar» ubicado a la derecha de cada entrada, tal y como se muestra en la siguiente captura:
Al hacer click en el botón «Eliminar» la vista resultante sería:
El contenido del archivo delete.php es el siguiente:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
<!DOCTYPE html> <html> <head> <title>CRUD basico con PHP y MySQL</title> <link rel="stylesheet" type="text/css" href="styles.css"> </head> <body> <div id="wrapper"> <h3>Eliminar usuario</h3> <p>Esta seguro que quiere eliminar este registro permanentemente de la base de datos?</p> <form action="delete.php" method="post"> <input class="btn-danger" type="submit" name="eliminar" value="Eliminar" /> <input type="hidden" name="sw" value="1" /> <?php if(isset($_GET['id'])): ?> <input type="hidden" name="id" value="<?php echo $_GET['id']; ?>" /> <?php endif; ?> </form><br /> <a class="btn" href="index.php"><< Volver</a> </div> </body> </html> <?php //conexion a bbdd $link = mysqli_connect('localhost', 'root', '', 'demo_crud'); //si el formulario fue enviado if(isset($_POST['sw']) == 1){ //cadena con la consulta de eliminacion segun el id de usuario $query = "DELETE FROM users WHERE id =".$_POST['id']; //No olvidar el WHERE en el DELETE!! if(mysqli_query($link, $query)){ //si la consulta devuelve un resultado header("Location: index.php"); //redirecciono a index.php }else{ //si hubo un error echo "Ocurrio un error al intentar eliminar el registro"; //mensaje de error } } //cierro conexion a bbdd mysqli_close($link); ?> |
Algo importante que recordar en este archivo y que podemos observar en la línea 31, es la sentencia sql para eliminar registros de la tabla.
La clausula «DELETE FROM <nombre_tabla>» siempre debe acompañarse de «WHERE id = <id_registro>», caso contrario la sentencia eliminará todos los registros de la tabla indicada.
Recuerda que puedes descargar el ejemplo desde Github.
No dudes en dejar tus comentarios.
Saludos.