21 - DELETE (Eliminar el registro)

El objetivo de este punto es el borrado de un registro de una tabla. Para ello, implementaremos un algoritmo que solicite ingresar el mail de un alumno y posteriormente efectúe su borrado.

Para eliminar filas en una tabla debemos utilizar el comando SQL delete.

La primera página es idéntica a la consulta, ya que debemos implementar un formulario que solicite la carga del mail del alumno:

pagina1.html
<html>
<head>
  <title>Problema</title>
</head>
<body>
  <form action="pagina2.php" method="post">
    Ingrese el mail del alumno a borrar:
    <input type="text" name="mail">
    <br>
    <input type="submit" value="buscar y borrar">
  </form>
</body>
</html> 

Por otro lado tenemos el archivo «pagina2.php» que se encarga de buscar el mail ingresado en el formulario y en caso que exista se procede a borrarlo:

pagina2.php
<html>
<head>
  <title>Problema</title>
</head>
<body>
  <?php
  $conexion = mysqli_connect("localhost", "root", "", "base1") or
    die("Problemas con la conexión");

  $registros = mysqli_query($conexion, "select codigo from alumnos
                        where mail='$_REQUEST[mail]'") or
    die("Problemas en el select:" . mysqli_error($conexion));
  if ($reg = mysqli_fetch_array($registros)) {
    mysqli_query($conexion, "delete from alumnos where mail='$_REQUEST[mail]'") or
      die("Problemas en el select:" . mysqli_error($conexion));
    echo "Se efectuó el borrado del alumno con dicho mail.";
  } else {
    echo "No existe un alumno con ese mail.";
  }
  mysqli_close($conexion);
  ?>
</body>
</html> 

En esta segunda página efectuamos dos llamadas a la función mysqli_query, una para consultar si existe el mail ingresado y otra para efectuar el borrado del registro respectivo. Si no existe el mail ingresado mostramos un mensaje de tal situación.