public function recuperarProvaResposta($id_prova_resposta){ $query ="SELECT tbl_prova_resposta.prova_resposta AS prova_resposta, tbl_prova_resposta.prova_pergunta AS prova_pergunta, tbl_prova_resposta.resposta_texto AS resposta_texto, tbl_prova_resposta.resposta_correta AS resposta_correta, tbl_prova_resposta.resposta_filho AS resposta_filho, tbl_prova_resposta.ordem AS ordem FROM tbl_prova_resposta WHERE tbl_prova_resposta.prova_resposta = $id_prova_resposta "; $banco = $this->getBancoDados(); $prova_resposta = NULL; $retorno = $banco->executaSQL($query); if($retorno != NULL) { if ($banco->numRows($retorno) == 0){ #throw new Exception("Nenhuma resposta da prova encontrada. (QUERY: $query )",0); } while($linha = $banco->fetchArray($retorno)) { if (strlen(trim($linha["resposta_filho"]))>0){ $sessionFacade = new SessionFacade($banco); $obj_prova_resposta_filho = $sessionFacade->recuperarProvaResposta($linha["resposta_filho"]); }else{ $obj_prova_resposta_filho = NULL; } $prova_resposta = new Resposta(); $prova_resposta->setId($linha['prova_resposta']); $prova_resposta->setPergunta($linha["prova_pergunta"]); $prova_resposta->setRespostaCorreta($linha["resposta_correta"]); $prova_resposta->setRespostaTexto($linha["resposta_texto"]); $prova_resposta->setRespostaFilho($obj_prova_resposta_filho); $prova_resposta->setOrdem($linha["ordem"]); } return $prova_resposta; } else { throw new Exception("Erro ao recuperar Resposta Prova (SQL: $query )"); } }
public function recuperarProvaPerguntaRespondida(Prova $prova, Aluno $aluno){ $query ="SELECT tbl_prova_pergunta.prova_pergunta AS prova_pergunta, tbl_prova_pergunta.topico AS topico, tbl_prova_pergunta.tipo_pergunta AS tipo_pergunta, tbl_prova_pergunta.titulo AS titulo, tbl_prova_pergunta.dificuldade AS dificuldade, tbl_prova_pergunta.fonte AS fonte, tbl_prova_pergunta.peso AS peso, tbl_prova_pergunta.pergunta_origem AS pergunta_origem FROM tbl_prova_pergunta WHERE tbl_prova_pergunta.prova_pergunta = $id_pergunta "; $banco = $this->getBancoDados(); $pergunta = NULL; $retorno = $banco->executaSQL($query); if($retorno != NULL) { if ($banco->numRows($retorno) == 0){ throw new Exception("Nenhuma pergunta encontrado.",0); } while($linha = $banco->fetchArray($retorno)) { $sessionFacade = new SessionFacade($banco); $obj_topico = $sessionFacade->recuperarTopico($linha["topico"]); $obj_tipo_pergunta = $sessionFacade->recuperarTipoPergunta($linha["tipo_pergunta"]); $pergunta = new ProvaPergunta(); $pergunta->setId($linha['prova_pergunta']); $pergunta->setTopico($obj_topico); $pergunta->setTipoPergunta($obj_tipo_pergunta); $pergunta->setTitulo($linha["titulo"]); $pergunta->setDificuldade($linha["dificuldade"]); $pergunta->setFonte($linha["fonte"]); $pergunta->setPeso($linha["peso"]); $pergunta->setPerguntaOrigem($linha["pergunta_origem"]); $query ="SELECT tbl_prova_resposta.prova_resposta AS prova_resposta, tbl_prova_resposta.prova_pergunta AS prova_pergunta, tbl_prova_resposta.resposta_texto AS resposta_texto, tbl_prova_resposta.resposta_correta AS resposta_correta, tbl_prova_resposta.resposta_filho AS resposta_filho FROM tbl_prova_resposta JOIN tbl_prova_pergunta USING(prova_pergunta) WHERE tbl_prova_pergunta.prova_pergunta = $id_pergunta"; if ($obj_tipo_pergunta->getId()=="4" OR $obj_tipo_pergunta->getId()=="5"){ $query .= " AND tbl_resposta.resposta_filho IS NOT NULL "; } $resposta_item = NULL; $retorno_item = $banco->executaSQL($query); if($retorno_item != NULL) { while($linha_item = $banco->fetchArray($retorno_item)) { $resposta_item = $sessionFacade->recuperarProvaResposta($linha_item["prova_resposta"]); $pergunta->addResposta($resposta_item); } } } return $pergunta; } else { throw new Exception("Erro ao recuperar ProvaPergunta ($query)"); } }