169 lines
6.3 KiB
PHP
169 lines
6.3 KiB
PHP
<?php
|
|
require_once $_SERVER['DOCUMENT_ROOT'].'/includes/conexionBD.php';
|
|
|
|
class Respuesta{
|
|
public $idRespuesta;
|
|
public $idPregunta;
|
|
public $nombreRespuesta;
|
|
public $correcta;
|
|
|
|
public function __construct($idRespuesta=null, $idPregunta=null, $nombreRespuesta=null, $correcta=null){
|
|
$this->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
|
|
|
|
?>
|