Proyecto PHP: Visualización y Eliminación de Datos MySQL en una Tabla [SOLUCIONADO]

Visualizar Datos MySQL con PHP

Uno de los desafíos más comunes en el desarrollo web back-end es como presentar los datos almacenados en una base de datos MySQL a través de una interfaz web. Hemos resuelto ese desafío utilizando PHP, una popular herramienta de scripting del lado del servidor.

    <?php
      $servername = "localhost";
      $username = "username";
      $password = "password";
      $database = "estudiantes";

      $con = new mysqli($servername, $username, $password, $database);

      if ($con->connect_error) {
        die("Conexión fallida: " . $con->connect_error);
      }

      $resultado = $con->query("SELECT * FROM estudiante");

      if ($resultado->num_rows > 0) {
        echo "<table>";
        while($row = $resultado->fetch_assoc()) {
          echo "<tr><td>" . $row["nombre"]. "</td></tr>";
        }
        echo "</table>";
      } else {
        echo "0 resultados";
      }
      $con->close();
    ?>
    

Permitiendo la eliminación de registros con PHP y MySQL

Eliminación de registros. Este concepto puede parecer desalentador al principio, pero le aseguramos que es un proceso muy simple. En la sección anterior, hemos extraído y presentado nuestros datos en una tabla HTML. Ahora, vamos a añadir una funcionalidad adicional que permita a los usuarios eliminar registros individuales.

Primero, modificaremos la estructura de nuestra tabla para incluir un botón de eliminación en cada fila. Este botón enlazará con un script PHP que ejecuta un comando DELETE en la base de datos MySQL. Es importante recordar que siempre debemos validar y higienizar cualquier dato que provenga del usuario antes de usarlo en una consulta SQL para evitar ataques de inyección SQL.

    <?php
      while($row = $resultado->fetch_assoc()) {
        echo "<tr><td>" . $row["nombre"]. "</td>";
        echo "<td><a href='eliminar.php?id=". $row["id"]." '>Eliminar</a></td></tr>";
      }
    ?>
    

El script ‘eliminar.php’ debería tomar el ‘id’ del registro que se quiere remover, validarlo y luego ejecutar una consulta DELETE en la base de datos. Es importante recordar evitar inyecciones SQL.

    <?php
      $id = $_GET['id'];

      if(!preg_match("/^[0-9]*$/", $id)) {
        die("ID no válido");}
      
      $query = "DELETE FROM estudiante WHERE id=".$id;
      if($con->query($query)) {
        header("Location: index.php");
      } else {
        echo "Error al eliminar";
      }
    ?>
    


Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad