idRespuesta=$idRespuesta; $this->idPregunta=$idPregunta; $this->nombreRespuesta=$nombreRespuesta; $this->correcta=$correcta; }//fin constructor public function insertar(){ $conexion = conexionBD(); if(is_array($conexion)){ return $conexion; }else{ try{ $consulta = $conexion->prepare("INSERT INTO respuesta (idPregunta, nombreRespuesta, correcta) VALUES (:idPregunta, :nombreRespuesta, :correcta)"); $consulta->bindParam(':idPregunta', $this->idPregunta); $consulta->bindParam(':nombreRespuesta', $this->nombreRespuesta); $consulta->bindParam(':correcta', $this->correcta); $consulta->execute(); $respuesta = [ 'exito' => 'La respuesta se guardó correctamente.', 'exito_tecnico' => $conexion->lastInsertId() ]; return $respuesta; }catch(PDOException $error){ $respuesta = [ 'error' => 'Ocurrió un error al guardar la respuesta.', 'error_tecnico' => $error->getMessage() ]; $conexion = null; return $respuesta; } } }//fin método insertar public function listar(){ $conexion = conexionBD(); if(is_array($conexion)){ return $conexion; }else{ try{ $consulta = $conexion->prepare("SELECT * FROM respuesta"); $consulta->execute(); return $consulta->fetchAll(PDO::FETCH_ASSOC); }catch(PDOException $error){ $respuesta = [ 'error' => 'Ocurrió un error al obtener el listado.', 'error_tecnico' => $error->getMessage() ]; $conexion = null; return $respuesta; } } }//fin método listar public function eliminar(){ $conexion = conexionBD(); if(is_array($conexion)){ return $conexion; }else{ try{ $consulta = $conexion->prepare("DELETE FROM respuesta WHERE idRespuesta=:idRespuesta"); $consulta->bindParam(':idRespuesta', $this->idRespuesta); $consulta->execute(); $respuesta = [ 'exito' => 'La respuesta se eliminó correctamente.', 'exito_tecnico' => $this->idRespuesta ]; return $respuesta; }catch(PDOException $error){ $respuesta = [ 'error' => 'No se pudo eliminar la respuesta.', 'error_tecnico' => $error->getMessage() ]; $conexion = null; return $respuesta; } } }//fin método eliminar public function editar(){ $conexion = conexionBD(); if(is_array($conexion)){ return $conexion; }else{ try{ $consulta = $conexion->prepare("UPDATE respuesta SET idPregunta=:idPregunta, nombreRespuesta=:nombreRespuesta, correcta=:correcta WHERE idRespuesta=:idRespuesta"); $consulta->bindParam(':idRespuesta', $this->idRespuesta); $consulta->bindParam(':idPregunta', $this->idPregunta); $consulta->bindParam(':nombreRespuesta', $this->nombreRespuesta); $consulta->bindParam(':correcta', $this->correcta); $consulta->execute(); $respuesta = [ 'exito' => 'La respuesta se editó correctamente.', 'exito_tecnico' => $this->idRespuesta ]; return $respuesta; }catch(PDOException $error){ $respuesta = [ 'error' => 'Ocurrió un error al editar la respuesta.', 'error_tecnico' => $error->getMessage() ]; $conexion = null; return $respuesta; } } }//fin método editar public function buscar(){ $conexion = conexionBD(); if(is_array($conexion)){ return $conexion; }else{ try{ $consulta = $conexion->prepare("SELECT * FROM respuesta WHERE idRespuesta=:idRespuesta"); $consulta->bindParam(':idRespuesta', $this->idRespuesta); $consulta->execute(); return $consulta->fetchAll(PDO::FETCH_ASSOC); }catch(PDOException $error){ $respuesta = [ 'error' => 'Ocurrió un error al buscar la respuesta.', 'error_tecnico' => $error->getMessage() ]; $conexion = null; return $respuesta; } } }//fin método buscar public function listarPorPregunta(){//trae todas las respuestas posibles de una pregunta $conexion = conexionBD(); if(is_array($conexion)){ return $conexion; }else{ try{ $consulta = $conexion->prepare("SELECT * FROM respuesta WHERE idPregunta=:idPregunta"); $consulta->bindParam(':idPregunta', $this->idPregunta); $consulta->execute(); $resultado = $consulta->fetchAll(PDO::FETCH_ASSOC); if(!isset($resultado[0])){ $respuesta = [ 'error' => 'La pregunta no tiene respuestas.' ]; return $respuesta; }else{ return $resultado; } }catch(PDOException $error){ $respuesta = [ 'error' => 'Ocurrió un error al obtener las respuestas de la pregunta.', 'error_tecnico' => $error->getMessage() ]; $conexion = null; return $respuesta; } } }//fin método listarPorPregunta }//fin clase ?>