idCategoria = $idCategoria; $this->nombreCategoria = $nombreCategoria; } function crear(){ $conexion = conexionBD(); if(is_array($conexion)){ return $conexion; }else{ try{ $consulta = $conexion->prepare("INSERT INTO categoria (nombreCategoria) VALUES (:nombreCategoria)"); $consulta->bindParam(':nombreCategoria', $this->nombreCategoria); $consulta->execute(); $respuesta = [ 'exito' => 'Categoría creada correctamente', 'exito_tecnico' => $this->nombreCategoria ]; return $respuesta; }catch(PDOException $error){ $respuesta = [ 'error' => 'Ocurrió un error al guardar la categoría.', 'error_tecnico' => $error->getMessage() ]; $conexion = null; return $respuesta; } } } function listar(){ $conexion = conexionBD(); if(is_array($conexion)){ return $conexion; }else{ try{ $sql = 'SELECT * FROM categoria'; $consulta = $conexion->prepare($sql); $consulta->execute(); $resultado = $consulta->fetchAll(PDO::FETCH_ASSOC); return $resultado; }catch(PDOException $error){ $respuesta = [ 'error' => 'Ocurrió un error al obtener el listado de categorías.', 'error_tecnico' => $error->getMessage() ]; $conexion = null; return $respuesta; } } } function buscar(){ $conexion = conexionBD(); if(is_array($conexion)){ return $conexion; }else{ try{ $consulta = $conexion->prepare("SELECT * FROM categoria WHERE idCategoria = :idCategoria"); $consulta->bindParam(':idCategoria', $this->idCategoria); $consulta->execute(); $resultado = $consulta->fetch(PDO::FETCH_ASSOC); return $resultado; }catch(PDOException $error){ $respuesta = [ 'error' => 'Ocurrió un error al buscar la categoría.', 'error_tecnico' => $error->getMessage() ]; $conexion = null; return $respuesta; } } } function borrar(){ $conexion = conexionBD(); if(is_array($conexion)){ return $conexion; }else{ try{ $consulta = $conexion->prepare("DELETE FROM categoria WHERE idCategoria = :idCategoria"); $consulta->bindParam(':idCategoria', $this->idCategoria); $consulta->execute(); if($consulta->rowCount() > 0){ $respuesta = [ 'exito' => 'Se eliminó correctamente la categoría', 'exito_tecnico' => $this->idCategoria ]; }else{ $respuesta = [ 'error' => 'No existe ninguna categoría con ese ID.', 'error_tecnico' => $this->idCategoria ]; } return $respuesta; }catch(PDOException $error){ $respuesta = [ 'error' => 'Ocurrió un error al eliminar la categoría.', 'error_tecnico' => $error->getMessage() ]; $conexion = null; return $respuesta; } } } } ?>