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();
}
}