<?php session_start(); include_once '../include/class_prova.php'; include "../../include/config.inc.php"; //$dao = new daoFunctions(); // conecta no banco de dados $conn = mysql_connect('localhost', 'root', ''); $db = mysql_select_db('sgpo', $conn); // Campo de teste :) $objProva = new Prova(); $Objeto = new Prova(); $Objeto->clienteParametro(1, $_POST['tx_renach']); $_SESSION[prova][prova_id] = $Objeto->prova_id; $_SESSION[prova][cand_id] = $Objeto->cand_id; $_SESSION[prova][cand_nome] = $Objeto->cand_nome; $_SESSION[prova][cand_renach] = $Objeto->cand_renach; $_SESSION[prova][questoes_qtd] = $Objeto->param_nr_questoes; $_SESSION[prova][tempo] = $Objeto->param_duracao; $_SESSION[prova][param_nr_alternativas] = $Objeto->param_nr_alternativas; $_SESSION[prova][param_msg_aprovacao] = $Objeto->param_msg_aprovacao; $_SESSION[prova][param_msg_reprovacao] = $Objeto->param_msg_reprovacao; $_SESSION[questao] = $Objeto->questao; $_SESSION[opcoes] = $Objeto->opcoes; for ($x = 1; $x <= count($_SESSION[questao]); $x++) { // ------------- GRAVA EM PROVA_QUESTAO $sqlProva_Opcoes = "INSERT INTO `prova_questao` (" . "`prova_id`," . "`prova_pergunta`," . "`prova_opcao1`," . "`prova_opcao2`," . "`prova_opcao3`," . "`prova_opcao4`," . "`prova_opcao5`," . "`prova_dispensavel`," . "`prova_correta`," . "`prova_resp_cand`" . ") VALUES (" . "'" . $_SESSION[prova][prova_id] . "', " . "'" . utf8_encode($_SESSION[questao][$x]) . "'," . "'" . utf8_encode($_SESSION[opcoes][$x][0][0]) . "'," . "'" . utf8_encode($_SESSION[opcoes][$x][1][0]) . "'," . "'" . utf8_encode($_SESSION[opcoes][$x][2][0]) . "'," . "'" . utf8_encode($_SESSION[opcoes][$x][3][0]) . "'," . ($_SESSION[prova][param_nr_alternativas] == 5 ? "'" . htmlspecialchars_decode($_SESSION[opcoes][$x][4][0]) . "'," : "'',"); $dispensavel = 0; $correta = 0; for ($y = 1; $y <= $_SESSION[prova][param_nr_alternativas]; $y++) { if ($_SESSION[opcoes][$x][$y][1] == 1) {
<?php session_start(); //include_once('./class_simulado.php'); // conecta no banco de dados include "./include/config.inc.php"; //$dao = new daoFunctions(); // Campo de teste :) $objProva = new Prova(); $Objeto = new Prova(); $Objeto->clienteParametro(1, $_POST['campo1'], $_POST['campo2']); $_SESSION[prova][prova_id] = $Objeto->prova_id; $_SESSION[prova][cand_id] = $Objeto->cand_id; $_SESSION[prova][cand_nome] = $Objeto->cand_nome; $_SESSION[prova][cand_renach] = $Objeto->cand_renach; $_SESSION[prova][questoes_qtd] = $Objeto->param_nr_questoes; $_SESSION[prova][tempo] = $Objeto->param_duracao; $_SESSION[prova][param_nr_alternativas] = $Objeto->param_nr_alternativas; $_SESSION[prova][param_msg_aprovacao] = $Objeto->param_msg_aprovacao; $_SESSION[prova][param_msg_reprovacao] = $Objeto->param_msg_reprovacao; $_SESSION[questao] = $Objeto->questao; $_SESSION[opcoes] = $Objeto->opcoes; $_SESSION[param_tx_aprovacao] = $Objeto->param_tx_aprovacao; for ($x = 1; $x <= count($_SESSION[questao]); $x++) { // ------------- GRAVA EM PROVA_QUESTAO $sqlProva_Opcoes = "INSERT INTO `prova_questao` (" . "`prova_id`," . "`prova_pergunta`," . "`prova_opcao1`," . "`prova_opcao2`," . "`prova_opcao3`," . "`prova_opcao4`," . "`prova_opcao5`," . "`prova_dispensavel`," . "`prova_correta`," . "`prova_resp_cand`," . "`bnq_id`" . ") VALUES (" . "'" . $_SESSION[prova][prova_id] . "', " . "'" . utf8_encode($_SESSION[questao][$x]) . "'," . "'" . utf8_encode($_SESSION[opcoes][$x][0][0]) . "'," . "'" . utf8_encode($_SESSION[opcoes][$x][1][0]) . "'," . "'" . utf8_encode($_SESSION[opcoes][$x][2][0]) . "'," . "'" . utf8_encode($_SESSION[opcoes][$x][3][0]) . "'," . ($_SESSION[prova][param_nr_alternativas] == 5 ? "'" . htmlspecialchars_decode($_SESSION[opcoes][$x][4][0]) . "'," : "'',"); $dispensavel = 0; $correta = 0; for ($y = 1; $y <= $_SESSION[prova][param_nr_alternativas]; $y++) { if ($_SESSION[opcoes][$x][$y][1] == 1) { $correta = $y; }
public function clienteParametro($cliente = 0101100) { $this->dao = new daoFunctions(); $sql = "SELECT *\n\t\t\t\tFROM parametro\n\t\t\t\tWHERE cliente_id = '{$cliente}'"; return $this->dao->query($sql); /* $this->set_numeroQuestoes($aParametros_Cliente[0][0][param_nr_questoes]); $this->set_numeroAlternativas($aParametros_Cliente[0][0][param_nr_alternativas]); $this->set_taxaAprovacao($aParametros_Cliente[0][0][param_tx_aprovacao]); $this->set_duracaoProva($aParametros_Cliente[0][0][param_duracao]); */ } public function bucaProva($renachCandidato = 0101100) { $this->dao = new daoFunctions(); $sql = "-- Pelo numero do renach do candidado\n\t\t\t\t-- localiza-se a prova que ele vai realizar\n\t\t\t\t-- e veririfica na parametrizacao como\n\t\t\t\t-- deve ser montada a prova\n\t\t\t\tSELECT pd.disciplina_id, pd.par_dis_dificuldade, par_dis_nr_questao\n\t\t\t\tFROM param_curso_disciplina pd\n\t\t\t\tWHERE pd.curso_id = (SELECT p.curso_id\n\t\t\t\tFROM prova p\n\t\t\t\tWHERE p.cand_id = (SELECT c.cand_id\n\t\t\t\tFROM candidato c\n\t\t\t\tWHERE c.cand_renach = '{$renachCandidato}')\n\t\t\t\t)"; return $this->dao->query($sql); } } // Campo de teste :) $objProva = new Prova(); // Codigo do cliente e retorna vetor com parametrizacao do cliente $acliParam = $objProva->clienteParametro(1); // RENACH do candidato e retorna o vetor de prova $aproParam = $objProva->bucaProva(3); /* echo "Numero de Questoes ".$objProva->get_numeroQuestoes(). "<br />"; echo "Numero de Alternativas ".$objProva->get_numeroAlternativas(). "<br />"; echo "TX Aprovacao ".$objProva->get_taxaAprovacao(). "% <br />"; echo "Duracao ".$objProva->get_duracaoProva(). "<br />"; */
$Questao_Nr = 0; // Qtd de Questões para o cliente for ($x = 0; $x < $iQuestoes_Qtd; $x++) { $iDisciplina = $ret[$x][0][disciplina_id]; $iDificuldade = $ret[$x][0][par_dis_dificuldade]; $iDisciplinas_Qtd = $ret[$x][0][par_dis_nr_questao]; // Quantidade de questoes por disciplina e por dificuldade for ($z = 0; $z < $iDisciplinas_Qtd; $z++) { $sql = " -- Seleciona randomicamente 1 pergunta\r\n\t\t\t\t\t\t-- passando como parametro\r\n\t\t\t\t\t\t-- o codigo da disciplina e a dificuldade\r\n\t\t\t\t\t\t-- ps: bnq_status_id = 1 (Disponível)\r\n\t\t\t\t\t\tSELECT b.*\r\n\t\t\t\t\t\tFROM bnq b\r\n\t\t\t\t\t\tWHERE b.bnq_id NOT IN (" . $sQuestoes . ")\r\n\t\t\t\t\t\t AND b.disciplina_id = '{$iDisciplina}'\r\n\t\t\t\t\t\t AND b.bnq_status_id = 1\r\n\t\t\t\t\t\tAND dificuldade_id = '{$iDificuldade}'\r\n\t\t\t\t\t\tORDER BY rand() limit 1\r\n\t\t\t\t\t\t"; $aQuestao = $this->dao->query($sql); $iQuestao = $aQuestao[0][0][bnq_id]; $sPergunta = $aQuestao[0][0][bnq_pergunta]; $this->questao[++$Questao_Nr] = $Questao_Nr . ")- " . $aQuestao[0][0][bnq_pergunta]; $letra = array('a', 'b', 'c', 'd', 'e'); $sql = "-- Seleciona as opcoes (respostas)\r\n\t\t\t\t\t\t\t-- randomicamente tendo como parametro\r\n\t\t\t\t\t\t\t-- o codigo da questao\r\n\t\t\t\t\t\t\tSELECT bo.*\r\n\t\t\t\t\t\t\tFROM bnq_opcao bo\r\n\t\t\t\t\t\t\tWHERE bo.bnq_id = " . $aQuestao[0][0][bnq_id] . ($this->param_nr_alternativas == 4 ? " AND opcao_dispensavel <> 1 " : '') . " ORDER BY rand()"; $aOpcaoRand = $this->dao->query($sql); // Opções de resposta for ($y = 0; $y < $this->param_nr_alternativas; $y++) { $this->opcao[$Questao_Nr][$letra[$y]] = $aOpcaoRand[$y][0][opcao_desc]; } } } } } // Campo de teste :) $objProva = new Prova(); // Codigo do cliente e retorna vetor com parametrizacao do cliente $objProva->clienteParametro(1, 3); echo "<pre>"; //print_r($objProva->questao); print_r($objProva->opcao);
public function excluirProvaDAO(Prova $prova){ $banco = $this->getBancoDados(); $sql = "SELECT count(*) AS qtde FROM tbl_prova JOIN tbl_disciplina USING(disciplina) WHERE tbl_disciplina.instituicao = ".$this->_login_instituicao." AND tbl_prova.prova = ".$prova->getId(); $retorno = $banco->executaSQL($sql); if($retorno != NULL) { $linha = mysql_fetch_array($retorno); if ($linha['qtde'] == 0){ throw new Exception("Prova não encontrada!"); } } else { throw new Exception("Erro ao excluir a prova. ($sql)"); } $query = " DELETE FROM tbl_prova_aluno_email WHERE prova = ".$prova->getId(); if(!$banco->updateSQL($query)) { throw new Exception("Erro ao excluir PROVA. ($query) "); } $query = " DELETE FROM tbl_prova_aluno_resposta WHERE prova_aluno_pergunta IN ( SELECT prova_aluno_pergunta FROM tbl_prova_aluno_pergunta WHERE tbl_prova_aluno_pergunta.prova = ".$prova->getId()." )"; if(!$banco->updateSQL($query)) { throw new Exception("Erro ao excluir PROVA. ($query) "); } $query = " DELETE FROM tbl_prova_aluno_pergunta WHERE prova = ".$prova->getId(); if(!$banco->updateSQL($query)) { throw new Exception("Erro ao excluir PROVA. ($query) "); } $query = " DELETE FROM tbl_prova_aluno WHERE prova = ".$prova->getId(); if(!$banco->updateSQL($query)) { throw new Exception("Erro ao excluir PROVA. ($query) ".$banco->mysql_error()); } $query = " DELETE FROM tbl_prova_resposta WHERE prova_pergunta IN ( SELECT prova_pergunta FROM tbl_prova_pergunta WHERE prova = ".$prova->getId()." )"; if(!$banco->updateSQL($query)) { throw new Exception("Erro ao excluir PROVA. ($query) "); } $query = " DELETE FROM tbl_prova_pergunta_imagem WHERE prova_pergunta IN ( SELECT prova_pergunta FROM tbl_prova_pergunta WHERE prova = ".$prova->getId()." )"; if(!$banco->updateSQL($query)) { throw new Exception("Erro ao excluir PROVA. ($query) "); } $query = " DELETE FROM tbl_prova_pergunta WHERE prova = ".$prova->getId(); if(!$banco->updateSQL($query)) { throw new Exception("Erro ao excluir PROVA. ($query) ".$banco->mysql_error()); } $query = " DELETE FROM tbl_prova_topico WHERE prova = ".$prova->getId(); if(!$banco->updateSQL($query)) { throw new Exception("Erro ao excluir PROVA. ($query) "); } $query = " DELETE FROM tbl_prova WHERE prova = ".$prova->getId(); if(!$banco->updateSQL($query)) { throw new Exception("Erro ao excluir PROVA. ($query) 2".$banco->mysql_error()); } }
$prova = addslashes(trim($_POST['prova'])); $titulo_prova = addslashes(trim($_POST['titulo_prova'])); $curso = addslashes(trim($_POST['curso'])); $disciplina = addslashes(trim($_POST['disciplina'])); $numero_perguntas = addslashes(trim($_POST['numero_perguntas'])); $data_inicio = addslashes(trim($_POST['data_inicio'])); $data_termino = addslashes(trim($_POST['data_termino'])); $dificuldade = addslashes(trim($_POST['dificuldade'])); $qtde_perguntas = addslashes(trim($_POST['qtde_perguntas'])); $qtde_pergunta_prova = 0; try { $banco->iniciarTransacao(); $prov = new Prova(); $prov->setId($prova); $prov->setTitulo($titulo_prova); $prov->setNumeroPerguntas($numero_perguntas); $prov->setData(date("d/m/Y H:i:s")); $prov->setDataInicio($data_inicio); $prov->setDataTermino($data_termino); $prov->setDificuldade($dificuldade); $prov->setLiberada($data_inicio); if (strlen($disciplina)>0){ $disc = $sessionFacade->recuperarDisciplina($disciplina); $prov->setDisciplina($disc); } $prof = $sessionFacade->recuperarProfessor($_login_professor);
function selecionaPerguntas(Prova $prova){ if ($prova->getQtdeTopico()==0){ throw new Exception('Para criar uma prova, é precisa selecionar pelo menos 1 tópico!'); } if ($prova->getNumeroPerguntas()==0){ throw new Exception('Informe o número de perguntas!'); }else{ $prova->Xnumero_perguntas = $prova->getNumeroPerguntas(); } if (strlen($prova->getDificuldade())==0){ throw new Exception('Informe o nível de dificuldade da prova!'); }else{ $prova->Xdificuldade = $prova->getDificuldade(); } $provaDAO = new ProvaDAO(); $provaDAO->setBancoDados($this->banco); $provaDAO->selecionaPerguntas($prova); }