En esta ocasión vamos a crear la interfaz para la eliminación de la tabla autor de la base de datos biblioteca que es con la que hemos venido trabajando. Vamos a trabajar en 4 scripts y el primero de estos es donde elegimos el criterio de búsqueda, ya que antes de eliminar un registro, tendremos que seleccionar el registro que vamos a eliminar, en esta ocasión solo eliminaremos de un registro por vez. El formulario inicial quedaría de la siguiente forma:

Es igual al formulario inicial de búsqueda que publicamos en un post anterior (http://www.cursostapachula.com/blog/2011/10/formulario-de-consultas-php-mysql/) y el código es de la siguiente forma:

<html>

<body>

<form action=”eliminacion_autor.php” method=”post”>

<table border=”5″>

 

<tr>

<td colspan=”2″>Elige el criterio de búsqueda para la eliminacion</td>

</tr>

 

<tr>

<td>Clave Autor</td>

<td><input type=”radio” name=”criterio” value=”clave_autor”></td>

</tr>

 

<tr>

<td>Nombre Autor</td>

<td><input type=”radio” name=”criterio” value=”nombre”></td>

</tr>

 

<tr>

<td>Nacionalidad</td>

<td><input type=”radio” name=”criterio” value=”nacionalidad”></td>

</tr>

 

<tr>

<td colspan=”2″ align=”center”><input type=”submit” value=”Elegir”></td>

</tr>

 

</table>

</form>

</body>

</html>

Simplemente se crea un formulario que manda los datos a un script de php llamado “eliminación_autor.php”, el formulario está dispuesto en una tabla para organizar los controles y está constituido por un control de botones de radio llamdo “criterio” que tiene tres opciones (Clave_autor, nombre y nacionalidad) dicho control tiene la característica que solo puede estar seleccionado una opción a la vez. También se tiene un botón de envío de los datos. El valor enviado depende de la opción seleccionada y es el nombre del campo sobre el cual se hará la búsqueda. La variable criterio es enviada y el script que la recibe se muestra a continuación:

<?php

$criterio=$_POST[‘criterio’];

 

if(!$criterio)

{

echo “<font color=’red’>Olvidaste seleccionar un criterio de busqueda</p>”;

echo “<form name=” action=’consulta_autor.html’>”;

echo “<input type=’submit’ value=’Regresar’>”;

echo “</form>”;

}

else

{

                if($criterio==”clave_autor”)

                {

                echo “<form action=’eliminacion_autor2.php’ method=’post’>

                Clave del autor a eliminar:<input type=’text’ name=’valor’>

                <input type=’submit’ value=’Buscar’>

                <input type=’hidden’ name=’criterio’ value='”.$criterio.”‘>

                </form>”;

                }

                if($criterio==’nombre’)

                {

                echo “<form action=’eliminacion_autor2.php’ method=’post’>

                Nombre del autor a eliminar:<input type=’text’ name=’valor’>

                <input type=’submit’ value=’Buscar’>

                <input type=’hidden’ name=’criterio’ value='”.$criterio.”‘>

        </form>”;

                }

                if($criterio==’nacionalidad’)

                {

                echo “<form action=’eliminacion_autor2.php’ method=’post’>

                Nacionalidad del autor a eliminar:<input type=’text’ name=’valor’>

                <input type=’submit’ value=’Buscar’>

                <input type=’hidden’ name=’criterio’ value='”.$criterio.”‘>

        </form>”;

                }

 

}

 

?>

Este script construye formulario en base a una bifurcación de la variable recibida, pero antes de eso valida que se haya seleccionado una opción del formulario anterior, en caso de que no se haya seleccionada ninguna opción, proporciona un botón para regresar y hacer la selección, en caso de que se haya seleccionado un criterio de búsqueda y dependiendo de cual haya sido, construye un formulario que recogerá el valor a buscar en la base de datos, ya se clave_autor, nombre o nacionalidad, e indistintamente el valor que se le proporcione, será enviado a través de la variable “valor” a un tercer script llamado “eliminación_autor2.php”, también se vuelve a mandar la variable “criterio” en un campo oculto, porque será necesaria para hacer la consulta en la tabla “autor”, la apariencia del script que recién describimos es la siguiente, suponiendo que se haya elegido como criterio de búsqueda el nombre del autor:

Se escribirá el valor  que se quiere buscar y se enviaran los datos a un tercer script, del cual mostramos el código a continuación:

<?php

include(“conexion.php”);

$valor=$_POST[‘valor’];

$criterio=$_POST[‘criterio’];

$cadena=”select * from autor where “.$criterio.”='”.$valor.”‘;”;

$consulta=mysql_query($cadena, $conexion);

mysql_close($conexion);

 

echo “<form action=’eliminacion_autor3.php’ method=’post’>”;

echo “<table border=’5′>”;

while ($row = mysql_fetch_row($consulta)){

echo      “<tr>

                <td>”.$row[0].”</td>

                <td>”.$row[1].”</td>

                <td>”.$row[2].”</td>

                <td><input type=’radio’ name=’eliminar’ value='”.$row[0].”‘></td></tr>”;

}

 

echo “</table>”;

echo “<input type=’submit’ value=’Eliminar’>”;

echo “</form>”

?>

Este script hace la conexión con la base de datos y abre la tabla usando la función “conexión.php” que hemos venido manejando, si no encuentra coincidencias de la búsqueda no plasmara nada (en este punto faltaría validar el caso de que no encuentre nada), pero en caso de que la búsqueda por el criterio y el valor dados en los formulario anterior, produjeran resultados, mostraría el resultado de la consulta registro a registro dentro de una tabla y en la última celda de cada fila proporcionaría un botón de radio para que se seleccionase un único registro a eliminar, también proporciona un botón para realizar la operación, se mandan tres datos a un cuarto script llamado “eliminación_autor3.php”. El dato enviado sería la clave_autor a eliminar. A continuación mostramos la apariencia de dicho script:

En la captura anterior mostramos la ejecución del tercer script donde previamente se selecciono el primer script que se haría una búsqueda por nacionalidad, en el segundo script se proporciono el valor de “mexicana” y en este tercer script seleccionaremos el registro a eliminar, será uno por vez. El valor a enviarse al cuarto script será la clave_autor que se va a eliminar, y este cuarto y último script hará operación de eliminación sobre la tabla. Mostraremos el código del último script:

<?php

include(“conexion.php”);

$eliminar=$_POST[‘eliminar’];

$cadena=”delete from autor where clave_autor='”.$eliminar.”‘;”;

 

$eliminacion=mysql_query($cadena, $conexion);

 

if($eliminacion)

{

echo “Registro eliminado correctamente”;

}

else

{

echo “Ocurrio un error el registro no fue eliminado”;

}

mysql_close($conexion);

echo “<form name=” action=’eliminacion_autor.html’>”;

echo “<input type=’submit’ value=’Regresar’>”;

echo “</form>”;

?>

Este script es más sencillo, simplemente recibe la clave_autor que se va a eliminar, hace la conexión con mysql y abre la base de datos, y hace la operación de eliminación sobre la base de datos, si la operación se realiza correctamente avisa del suceso, y si no se hace correctamente también informa de lo sucedido, en cualquiera de los dos casos muestra un botón para regresa al formulario inicial, y también cierra la conexión.  Cabe mencionar que solo podremos eliminar autores que no aparezcan en otras tablas, por ejemplo eliminaremos únicamente autores que no aparezcan en la tabla libros. Veamos la ejecución de este último script, eliminando un autor que no aparece en la tabla libros:

Y hasta aquí una aplicación sencilla de eliminación. Agradeceremos comentarios, preguntas y dudas en el libro de visitas.

Powered By DT Author Box

Written by chris

Formulario Eliminación PHP y MySQL. Tabla Autor BD Biblioteca.

Leave a Reply

Follow

Get every new post delivered to your Inbox

Join other followers:

%d bloggers like this: