miércoles, 18 de septiembre de 2013

Eliminación de registros múltiples utilizando checkbox en php (servidor xampp)

Eliminación de registros múltiples utilizando checkbox en php

Vamos a trabajar con tres archivos para poder tener un mejor entendimiento.
El primer archivo tiene como nombre,  conex.php

conex.php

El archivo conex.php se encarga de realizar la conexion con la base de datos
<?php
$con=mysql_connect("localhost","root","");
mysql_select_db("tienda",$conexion) or die ("No hay conexion");
?>

Donde: la base de datos tiene como nombre TIENDA.

El segundo archivo tiene como nombre mein.php, el cual se encarga de mostrar los datos almacenados en la base de datos.
y para poder trabajar con CHECKBOX al momento de crear le asignamos de la siguiente manera <input type="checkbox" name="casilla[]" value="<?php echo $arreglo['idprodcuto']; ?>"> , Donde casilla[] es el nombre del checbox, lo designamos como un arreglo para que nos muestre en todos los registros de la BD y $arreglo['idprodcuto'] es el identificador o tambien conocido como indice, es el valor con la cual podremos hacer la comparacion para poder eliminar

mein.php

<?php
include 'conex.php';
$query=mysql_query("select * from producto",$con);
?>
<html>
<body>
<h1>Eliminacion de Productos</h1>
<form method="post" action="">
<table border="1" bgcolor="yellow">
<tr>
<th>Eliminar</th>
<th>Codigo</th>
<th>Producto</th>
<th>Categoria</th>
<th>Precio</th>
<th>stock</th>
</tr>
   <?php
while($arreglo=mysql_fetch_array($query)){
    ?>
<tr>
    <th><input type="checkbox" name="casilla[]" value="<?php echo $arreglo['idprodcuto']; ?>"></th>  
<th><?php echo $arreglo['idprodcuto']; ?> </th>  
<th><?php echo $arreglo['producto'] ;?></th>
<th><?php echo $arreglo['idcategoria'];?></th>
<th><?php echo $arreglo['precio'];?></th>
<th><?php echo $arreglo['stock'] ;?></th>
</tr>
<? } ?>
</table>
<input type="submit" value="Eliminar">
</form>
</body>
</html>

El tercer archivo se llama eliminar.php
se encarga de eliminar, para ello utilizamos el constructor FOREACH que se va encargar de identificar si el checkbox seleccionado es igual al identificador o indice, si es asi se cumplirá la consulta

 eliminar.php

<?php
include 'conex.php';
$checkbox=$_POST['casilla'];
//El constructor FOREACH funciona sobre arrays y objetos
foreach ($checkbox as $value) {
$eliminar=mysql_query("delete from producto where idprodcuto=".$value."",$con);
if($eliminar){
echo "Registro eliminado <br>";
}
}
?>
<a href="mein.php">Volver</a>




Espero les sirva de ayuda.
saludos !!!
Atm: Daniel Carrillo