Muchas veces, cuando estamos programando, tenemos la tarea de crear un módulo o estructura, donde se muestran multiples registros y queremos borralos todos o una parte de ellos. Aqui les dejo como hacerlo, utilizando PHP y MySQL.
(Como ejemplo creamos una tabla llamada tb_noticias: en la cual existen, varios campos, pero solo tomamos como referencia el campo "id" y "titular")
Creamos una pagina llamada: mostrar.php y le insertamos el siguiente codigo:
<?php
include('connx.php');
echo "<form action='eliminar_noticias.php' method='post' name='formulario' id='formulario'>";
$rs = $mysqli->query("SELECT * FROM tb_noticias ORDER BY id");
while ($row = $rs->fetch_assoc()){
$id = $row['id'];
echo "<input type='checkbox' name='check[]' id='check[]' value='$id' />" .$row['titular'] .'<br>';
}
echo "<br><input type='button' value='Eliminar' onclick='enviar_datos()' /> ";
echo "</form>";
?>
Observamos que el boton "Eliminar", tiene una llamada a una funcion llamada: enviar_datos(), la cual esta formada por el siguiente codigo:
<script type="text/javascript" language="javascript">
function enviar_datos() {
contador=0;
Form = document.forms["formulario"]
for(i = 0; i < Form.elements.length; i++)
if(Form.elements[i].type == "checkbox")
if(Form.elements[i].checked)
contador++
if(contador==0) {
alert('Deberá seleccionar al menos una opción.'); return;
}else{
formulario.submit();
}
}
</script>
Y FINALMENTE, el código de la página "eliminar_noticias.php", la cual es la encargada de eliminar todas las noticias que fueron seleccionadas en los checkbox.
<?php
include('connx.php');
$mysqli->query("DELETE FROM tb_hechos WHERE id IN (".implode(",", $_POST['check']).")");
echo "Articulo(s) borrado(s) satisfactoriamente.";
?>
Nos vemos en el próximo artículo!