public function atualizarOrdemRespostaDAO(ProvaPergunta $pergunta){ $banco = $this->getBancoDados(); $query ="SELECT tbl_prova_resposta.prova_resposta AS prova_resposta, tbl_prova_resposta.ordem AS ordem FROM tbl_prova_resposta WHERE tbl_prova_resposta.prova_pergunta = ".$pergunta->getId()." AND tbl_prova_resposta.resposta_filho IS NOT NULL "; $retorno = $banco->executaSQL($query); if($retorno == NULL) { throw new Exception("Erro ao atualizar a ordem das respostas. $query ",0); } $qtde_respostas = $pergunta->getQtdeResposta(); $rand = new UniqueRand(); #echo "<hr>($qtde_respostas)"; while($linha = $banco->fetchArray($retorno)) { $aux_resposta = $linha["prova_resposta"]; $aux_ordem = $linha["ordem"]; $ordem = $rand->uRand(0,$qtde_respostas-1); $query = " UPDATE tbl_prova_resposta SET ordem = ".$ordem." WHERE prova_resposta = ".$aux_resposta; #echo nl2br($query); #echo "<br>"; if(!$banco->updateSQL($query)) { throw new Exception("Erro ao atualizar a ordem das respostas interno.",0); } } }