sábado, 25 de febrero de 2012

Eliminar registros de una tabla con Mysql y PHP


Bienvenid@s, en esta ocasión vamos a ver un ejemplo de como eliminar registros de una tabla mediante Mysql y PHP. 

Suponiendo que tu base de datos se llama "clientes" y que tienes una tabla llamada "datosclientes" con seis campos "id_cliente", "nombre", "apellidos", "direccion", "localidad", "edad" y con una serie de registros almacenados en la tabla, vamos a proceder a extraer todos los registros de la tabla y a incluirle un formulario a cada uno de ellos, este formulario tendrá un botón submit "Eliminar" y un campo oculto donde se almacenará el id del cliente, cuando se haga click en el botón "Eliminar", capturaremos esos datos con PHP y realizaremos la consulta necesaria para eliminar el registro de la tabla.

Debajo de la imagen de ejemplo, se encuentra el código ...



Guarda el archivo como eliminar.php ...

<?php
/* By http://php-estudios.blogspot.com */

/* PARTE 1: AL INICIO SE EXTRAEN TODAS LAS FILAS */
//Necesitamos establecer una conexión con la base de datos.
$mysql_usuario = "root";
$mysql_password = "password";
$mysql_host = "localhost";
$mysql_database = "clientes";

//Datos de conexión
$conexion = mysql_connect($mysql_host, $mysql_usuario, $mysql_password, true);

//Seleccionar la base datos y la conexión y capturar posibles errores con die
mysql_select_db($mysql_database, $conexion) || die('No pudo conectarse: '.mysql_error());

//Preparar la consulta para extraer todos los clientes
$consulta = "SELECT * FROM datosclientes";

//Ejecutar la consulta
$resultado = mysql_query($consulta, $conexion) or die(mysql_error());

//Extraer todas la filas y almacenarlas en una tabla
$table = "<table border='1' cellpadding='10'>\n";
$table .= "<tr><th>ID</th><th>Nombre</th><th>Apellidos</th><th>Dirección</th><th>Localidad</th><th>Edad</th><th></th></tr>\n";
while($fila = mysql_fetch_assoc($resultado)){
$table .= "<tr>
      <td>".$fila["id_cliente"]."</td>
      <td>".$fila["nombre"]."</td>
      <td>".$fila["apellidos"]."</td>
      <td>".$fila["direccion"]."</td>
      <td>".$fila["localidad"]."</td>
      <td>".$fila["edad"]."</td>
      <td><form method='post' action=''> \n
      <input type='hidden' name='id_cliente' value='".$fila["id_cliente"]."'>
      <input type='submit' value='Eliminar'>
      </form></td>
   </tr>\n";
    }
$table .= "</table>\n"; 


/* PARTE 2: SI SE ENVÍA EL FORMULARIO CAPTURAR LOS DATOS PARA ELIMINAR EL CLIENTE */

if (isset($_POST["id_cliente"]))
{
//Se almacena en una variable el id del registro a eliminar
$id_cliente = $_POST["id_cliente"];

//Preparar la consulta
$consulta = "DELETE FROM datosclientes WHERE id_cliente=$id_cliente";

//Ejecutar la consulta
$resultado = mysql_query($consulta, $conexion) or die(mysql_error());

//redirigir nuevamente a la página para ver el resultado
header("location: eliminar.php");
}
  
?>

<!DOCTYPE HTML>
<html>
<head>
<title>Eliminar registros de una tabla con Mysql y PHP</title>
</head>
<body>

<?php 

/* Mostrar la tabla con los registros */
echo $table; 

?>

</body>
</html>

<?php 
/* Cerrar la conexión */
mysql_close($conexion); 
?>




2 comentarios:

Unknown dijo...

Hola:

genial el post¡¡¡

Alguna manera de añadirle un "modificar"?

Unknown dijo...

GENIAL¡¡¡

alguna posibilidad de añadirle un "modificar"?

Un saludo