borrando

9
Borrando (DELETE) registros de una BD MySQL usando PHP Posted on May 27, 2008 A veces los que damos un pasito adelante, nos olvidamos de que aun seguimos siendo aprendices y que por siempre lo seremos, por eso decidí crear este post mostrando como borrar los registros de una tabla en nuestra base de datos, de una manera bien sencilla. El script constara de un par de archivos: mostrando- registros.php y eliminar.php y una pequeña base de datos (una sola tabla) de ejemplo LA BASE DE DATOS DE EJEMPLO La base de datos a usar será bien sencilla, así no nos complicamos tanto ;). Una tabla que guarde como registros a unos supuestos usuarios, además de su e-mail, nombre, sexo, etc… CREATE TABLE `usuarios` ( `usuario_ID` int(11) NOT NULL auto_increment, `usuarioNombre` varchar(50) NOT NULL, `usuarioSexo` varchar(1) NOT NULL, `usuarioEmail` varchar(50) NOT NULL, `usuarioDNI` varchar(11) NOT NULL, PRIMARY KEY (`usuario_ID`) ) ENGINE=MyISAM;

Upload: quenta-c-edwin

Post on 23-Oct-2015

5 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Borrando

Borrando (DELETE) registros de una BD MySQL usando PHPPosted on May 27, 2008

A veces los que damos un pasito adelante, nos olvidamos de que aun

seguimos siendo aprendices y que por siempre lo seremos, por eso decidí

crear este post mostrando como borrar los registros de una tabla en

nuestra base de datos, de una manera bien sencilla.

El script constara de un par de archivos: mostrando-

registros.php y eliminar.php y una pequeña base de datos (una sola

tabla) de ejemplo

LA BASE DE DATOS DE E JEMPLO

La base de datos a usar será bien sencilla, así no nos complicamos tanto ;).

Una tabla que guarde como registros a unos supuestos usuarios, además

de su e-mail, nombre, sexo, etc…

CREATE TABLE `usuarios` (

`usuario_ID` int(11) NOT NULL auto_increment,

`usuarioNombre` varchar(50) NOT NULL,

`usuarioSexo` varchar(1) NOT NULL,

`usuarioEmail` varchar(50) NOT NULL,

`usuarioDNI` varchar(11) NOT NULL,

PRIMARY KEY (`usuario_ID`)

) ENGINE=MyISAM;

MOSTRANDO LOS REGISTROS

Page 2: Borrando

El archivo mostrar-registros.php, como es lógico, lo usaremos para

mostrar todos los registros de la tabla usuarios de nuestra base de datos.

Esto nos ayuda para saber lo que tenemos y a quien queremos eliminar,

para ello usaremos un vínculo que enviará vía $_GET el ID de cada uno.<?php

/** conexion ***************************/

// conectamos a la base de datos

$link = mysql_connect('localhost', 'root', '');

if(!$link) {

die("Error al intentar conectar: ".mysql_error());

}

// seleccionamos la base de datos

$db_link = mysql_select_db('dase-de-datos', $link);

if(!$db_link) {

die("Error al intentar seleccionar la base de datos". mysql_error());

}

/** fin conexion ************************/

// hacemos una consulta

// para mostrar los registros

$sql = mysql_query("SELECT * FROM usuarios", $link) or die(mysql_error());

// mostramos los registros

while($row = mysql_fetch_array($sql)){

echo $row['usuarioNombre']." - ".$row['usuarioEmail'].

Page 3: Borrando

// mostramos un vinculo Eliminar

// que envia via $_GET

// el ID del registro a eliminar

" - <a href='eliminar.php?id=$row[usuario_ID]'>Eliminar</a>"."\n";

}

?>

EL IMINANDO LOS REGISTROS

En el archivo eliminar.php, haremos una consulta que nos ayudara a

mostrar y advertirque vamos a eliminar un registro de nuestra tabla. Para

ejecutar la acción nos auxiliaremos de un formulario HTML que envíe vía

$_POST el ID del usuario a eliminar, ¿algo mas?<?php

/** conexion ***************************/

// conectamos a la base de datos

$link = mysql_connect('localhost', 'root', '');

if(!$link) {

die("Error al intentar conectar: ".mysql_error());

}

// seleccionamos la base de datos

$db_link = mysql_select_db('dase-de-datos', $link);

if(!$db_link) {

die("Error al intentar seleccionar la base de datos". mysql_error());

}

Page 4: Borrando

/** fin conexion ************************/

// comprovamos si

// ha sido enviado el formulario

if(isset($_POST['eliminar']) && $_POST['eliminar'] == 'Eliminar'){

// creamos la consulta

// que eliminara el registro

// que viene via $_POST

$id_eliminar = $_POST['id'];

$sqlEliminar = mysql_query("DELETE FROM usuarios

WHERE usuario_ID = $id_eliminar", $link)

or die(mysql_error());

// enviamos un mensage de exito

$mensaje = "El registro a sido eliminado";

}

// si no ha sido enviado el formulario aun

// recogemos el ID

// del registro a eliminar

// via $_GET

elseif(isset($_GET['id'])){

$id = $_GET['id'];

// hacemos una consulta

Page 5: Borrando

// para mostrar el registro

// que vamos a eliminar

$sql = mysql_query("SELECT * FROM usuarios

WHERE usuario_ID = $id", $link)

or die(mysql_error());

$row = mysql_fetch_array($sql);

// advertimos

$mensaje = "¿Está seguro que quiere eliminar el usuario <b>$row[usuarioNombre]</b>?";

}

// mostramos el mensage

echo $mensaje;

?>

<!-- creamos el formulario HTML

que enviara el ID

del registro a eliminar -->

<form name="eliminar-registro" method="post" action="<?php $_SERVER['PHP_SELF']; ?>" >

<input name="id" type="hidden" value="<?php echo $row['usuario_ID']; ?>" />

<input name="eliminar" type="submit" value="Eliminar" />

</form>

Page 6: Borrando

NOTA: El formulario tiene un campo tipo hidden que tiene como valor el ID

del registro a eliminar y es el que recogemos en la clausula WHERE de la

consulta DELETE

PARA TERMINAR

Espero que este pequeño y sencillo ejemplo sea útil, sobre todo a aquellos

que se inician en la programación con PHP, que es a quienes está dirigido

esta post. Esperen pronto algo sobre actualizar registros

Saludos y Suerte

//////////////////////////

8.- BORRADO DE REGISTROS DE UNA BASE DE DATOS.

Share on facebook Share on twitter Share on email Share on print More Sharing Services 2

Otra de las acciones que tendremos que llevar a cabo con nuestras bases de

datos es la eliminación de registros, por ejemplo, para dar de baja usuarios.

De todas las acciones que podemos realizar con bases de datos, quizás la más

sencilla sea eliminar registros, ya que solo hay que indicarle el valor del registro

que queremos eliminar.

Es muy importante que tengáis en cuenta que la eliminación de registros debe

hacerse sobre la clave primaria de la tabla o sobre campos de tipo único. El motivo

de esto es sencillo, si el campo no es único, y tomáis por ejemplo un campo

“ciudad” y establecéis la condición de eliminación “donde ciudad sea igual a

Madrid” eliminaríais todos los usuarios que tengan como ciudad de residencia,

Madrid. Lo que os daría un buen disgusto.

Page 7: Borrando

La sintaxis es la siguiente:

======== form_borrar.php <html> 

<head> <title>eliminar registros.</title> <META name='robot' content='noindex, nofollow'> </head> 

<body> 

<div align="center">     <table border="0" width="600" style="font-family: Verdana; font-size: 8pt" id="table1">         <tr>             <td colspan="2"><h3 align="center">Eliminación de datos</h3></td>         </tr>         <form method="POST" action="borrar.php">         <tr>             <td width="50%">&nbsp;</td>             <td width="50%">&nbsp;</td>         </tr>         <tr>             <td width="50%">             <p align="center"><b>ID del registro a eliminar: </b></td>             <td width="50%">             <p align="center"><input type="text" name="id" size="20"></td>         </tr>         <tr>             <td width="50%">&nbsp;</td>             <td width="50%">&nbsp;</td>         </tr>         <tr>             <td width="100%" colspan="2">             <p align="center">             <input type="submit" value="Eliminar" name="B1"></td>         </tr>         </form>     </table> </div> 

</body> 

</html> 

======== borrar.php <html> 

<head> 

Page 8: Borrando

<title>Registro eliminado.</title> <META name='robot' content='noindex, nofollow'> </head> 

<body> 

<?php // Actualizamos en funcion del id que recibimos 

$id = $_POST['id']; 

include('abre_conexion.php');   

$query = "delete from $tabla_db1 where id = '$id'";  $result = mysql_query($query);  

include('cierra_conexion.php');   

echo " <p>El registro ha sido eliminado con exito.</p> 

<p><a href='javascript:history.go(-1)'>VOLVER ATRÁS</a></p> "; ?> 

</body> 

</html>