diff --git a/clases/ClasePregunta.php b/clases/ClasePregunta.php new file mode 100644 index 0000000..7971d1c --- /dev/null +++ b/clases/ClasePregunta.php @@ -0,0 +1,169 @@ +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 + +?> \ No newline at end of file