Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Borrar registros con un checkbox

Estas en el tema de Borrar registros con un checkbox en el foro de PHP en Foros del Web. Hola a todos, tengo una base de datos y quiero quitar unos registros con un checkbox o varios a la vez. Tengo una clase que ...
  #1 (permalink)  
Antiguo 25/04/2014, 09:12
 
Fecha de Ingreso: marzo-2012
Mensajes: 180
Antigüedad: 12 años, 1 mes
Puntos: 2
Borrar registros con un checkbox

Hola a todos,

tengo una base de datos y quiero quitar unos registros con un checkbox o varios a la vez.

Tengo una clase que me sirve para mostrar los datos, insertar y quitar... pero me falla la de quitar. Insertar y mostrar funciona correctamente.

Mi idea es pasar la información en forma de array, recoger la información por POST y entonces borrar.

Dejo el código de la clase

Código PHP:
<?php
require_once ('connect.php');

class 
categoria{
    private 
$idcategoria;
    private 
$nom;

    function 
__construct($nom){
            
$this->nom $nom;
    }
        
    
//GET
    
public function getIdCategoria(){
        return 
$this->idcategoria;        
    }
    
    public function 
getNom(){
        return 
$this->nom;
    }
    
    
//SET
    
public function setIdCategoria($idcategoria){
        return 
$this->$idcategoria;
    }
    
    public function 
setNom($nom){
        return 
$this->$nom;
    }

        public function 
selectCategoria(){
            
$bd = new connect();
            
$nom $bd->query("SELECT * FROM categories");
            
$i 1;
            echo 
'<h1>Categories</h1>';
            echo 
'<form action="esborrarcategoria.php" method="post" autocomplete="on">';
            echo 
'<table border="1px">';
            echo 
'<th>ID</th><th>Nom</th><th>Esborrar</th>';
            while (
$fila $nom->fetch_array(MYSQLI_ASSOC)){
                echo 
"<tr><td>".$i."</td><td>".$fila['nom']."</td><td>".
                     
"<input type='checkbox' name='casilla[]' value='".$fila['idcategoria']."'</td></tr>"
                
$i++;
            }
            echo 
'</table>';
            echo 
'<button class="btnEsborrar" name="btnEsborrar" value="esborrar" type="submit">Esborrar</button>';
            echo 
'</form>';
            
$bd->close();
        }
        
    public function 
insertCategoria(){        
            
$bd = new connect();
            if (
$bd->query('INSERT INTO categories (nom) VALUES ("'.$this->getNom().'")')){
                echo 
"El procés s'ha realitzat correctament";
            } else {
                echo 
"Error: %s\n"$bd->error;
            } 
            
$bd->close();
    }
    
    public function 
deleteCategoria(){        
            
$bd = new connect();
        if (
$bd->query('DELETE FROM categories WHERE idcategoria="'.$this->getIdCategoria().'"')){
            echo 
"El procés s'ha realitzat correctament";
        } else {
            echo 
"Error: %s\n"$bd->error;
        }
        
$bd->close();
    }
}
  #2 (permalink)  
Antiguo 25/04/2014, 10:02
Avatar de alexisverano  
Fecha de Ingreso: septiembre-2008
Ubicación: La Habana.Cuba
Mensajes: 298
Antigüedad: 15 años, 7 meses
Puntos: 36
Respuesta: Borrar registros con un checkbox

Debes manejar los checkbox como array [] y despues eliminarlos.
Te dejo como yo lo hago.

Código HTML:
Ver original
  1. <input type='checkbox' name='check[]' id='check[]' value='$id' />

Código PHP:
Ver original
  1. $eliminar = implode(",", $_POST['check']);
  2. $mysqli->query ("DELETE FROM tb_personalidades WHERE id IN ($eliminar)");
  #3 (permalink)  
Antiguo 27/04/2014, 12:55
 
Fecha de Ingreso: marzo-2012
Mensajes: 180
Antigüedad: 12 años, 1 mes
Puntos: 2
Respuesta: Borrar registros con un checkbox

Solucionado, gracias

Etiquetas: checkbox, registro, registros, select, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:24.