Ir para conteúdo
Fórum Script Brasil
  • 0

Como criar um simulador de questoes


wallace

Pergunta

Bom dia a todos

tenho que desenvolver um projeto (simulador) na faculdade e tenho pouco tempo pra implementa-lo...

é o seguinte tenho que criar um banco de dados em MySql para cadastrar as questões

depois o usuário irá ler as questões e marcar a sua alternativa,

em seguida clicar em gabarito para mostrar as respostas corretas e

quantidade de questões que acertou/errou

ou seja o mais simples possível

mas nem sei onde começar estou aprendendo agora o PHP e usando o XAMPP vou pesquisar como acessar o banco de dados MySql...

e como ficaria a lógica para fazer os códigos em php etc ???

valeu

Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0

Wallace, eu já mexi uma vez com essa coisa de cadastrar questões e acho que a lógica a principio é essa que você passou.

A primeira coisa que você deve fazer é trabalhar a parte lógica disso, ou seja, ver como vai ficar tudo no papel, tipo tabelas de banco de dados, interfaces e afins. Nesse momento começa a surgir questões tais como "quais os atores do sistema" e se você fizer do jeito que estou pensando vai precisar no minimo de dois atores: administradores(quem vai criar as questões) e os usuarios(quem responde as questões)

Algumas dificuldades:

* Quantidade de alternativas pode não ser fixa, ou seja, uns podem ter 4 alternativas e outros 5;

* Questões com mais de uma resposta( a menos que voce defina como regra para quem criar as questoes que apenas uma será a resposta certa)

* Remoção e atualização tem que ser bem pensada, lembre-se que voce pode atualizar uma ou varias questões e/ou uma ou várias alternativas.

Que eu lembro é isso, mas depende como vai estruturar. Conforme você for fazendo as idéias vão surgindo e as dificuldades também.

Abraços.

Link para o comentário
Compartilhar em outros sites

  • 0

no caso já defini os seguintes critérios:

A) terá apenas uma resposta correta;

B) será uma seqüencia de 04 alternativas possíveis;

C) um administrador para cadastrar, alterar e excluir as questões (no caso teria que alterar no próprio painel de controle do servidor de hospedagem )

D) uma tela de login para usuário comum usar o sistema (na verdade pode ate ser opcional essa)

mas e na pratica como inicio isso tudo? que material tenho que pesquisar ? onde posso ter umas idéias pra começar???

já dei algumas googladas mas ainda não sei por onde começar

valeu

Link para o comentário
Compartilhar em outros sites

  • 0

Bom, tudo depende do conhecimento que você tem para acrescentar.

Como você quer desenvolver algo usando PHP e MYSQL, alguns requisitos para a parte da programação seriam:

1. Conhecimento em HTML (Fundamental);

2. Conhecimento em CSS (Principal para estuturação de layout)

3. Conhecimento em JavaScript (Básico no minimo para validação dos formularios)

Depois disso, ai sim eu citaria:

4. Conhecimento em PHP (Básico no minimo);

5. Conhecimento de Banco de Dados(Principalmente DER)

6. Conhecimento de SQL

7. Conhecimento do SGBD MySQL;

8. Metodologia de criação de sistemas (Metodos estruturados,RUP,...)

Agora tem que ver o que você sabe e o tempo para você fazer o que você deseja e o tempo que você tem para estudar. Ve o que você sabe e tento te ajudar a buscar um caminho no que você não sabe. Eu sei que parece muita coisa e eu não sei se seu foco é desenvolver por desenvolver e se seu foco é desenvolver com o minimo de qualidade possivel. Existe essa série de coisas que você tem que ver, se ficou na dúvida com tudo acima, pense simplesmente em:

- Meu tempo para estudar;

- Meu tempo para desenvolver;

- Conhecimento que tenho até agora;

- Conhecimento que preciso adquirir.

Qualquer dúvida posta.

Abraços.

Link para o comentário
Compartilhar em outros sites

  • 0
Bom, tudo depende do conhecimento que você tem para acrescentar.

Como você quer desenvolver algo usando PHP e MYSQL, alguns requisitos para a parte da programação seriam:

1. Conhecimento em HTML (Fundamental);

2. Conhecimento em CSS (Principal para estuturação de layout)

3. Conhecimento em JavaScript (Básico no minimo para validação dos formularios)

Depois disso, ai sim eu citaria:

4. Conhecimento em PHP (Básico no minimo);

5. Conhecimento de Banco de Dados(Principalmente DER)

6. Conhecimento de SQL

7. Conhecimento do SGBD MySQL;

8. Metodologia de criação de sistemas (Metodos estruturados,RUP,...)

Agora tem que ver o que você sabe e o tempo para você fazer o que você deseja e o tempo que você tem para estudar. Ve o que você sabe e tento te ajudar a buscar um caminho no que você não sabe. Eu sei que parece muita coisa e eu não sei se seu foco é desenvolver por desenvolver e se seu foco é desenvolver com o minimo de qualidade possivel. Existe essa série de coisas que você tem que ver, se ficou na dúvida com tudo acima, pense simplesmente em:

- Meu tempo para estudar;

- Meu tempo para desenvolver;

- Conhecimento que tenho até agora;

- Conhecimento que preciso adquirir.

Qualquer dúvida posta.

Abraços.

Ola pessoal o que você que wallace é simples com 1 hora você termina

teoria

banco ->simulado

tabelas->questoes=(n°,titulo,pergunta,id) //id chave primaria

->opcao=(id_questao,op_1,op_2,op_3,op_4,cod) //cod chave primaria

->respostas=(id_questao,resposta_correta,cod_op, id) // id chave primaria

->respostas_usuario=(n°,pergunta,resposta,cod_op)

->login=(nivel,id,nick,password) //id chave primaria, nick valor unico

->logados=(id_logados, data, hora)

tabela questoes onde ficará cadastradas as questoes

tabela opçao onde ficara cadastradas as opçoes de respostas

tabela respostas ficara as respostas corretas

tabela respostas_usuario onde ficara cadastradas as respostas do usarios

tabela login onde ficara os usuarios cadastrados

tabela logados onde ficara cadastrados os usuarios que acessam o sistema

//conexao

$conectar=mysql_connect("localhost", "root", "");

// na conexao localhost é o servidor e root é usuario e "" é a senha no caso do xampp vem dessa maneira o usuario padrão é root e não tem senha

se não for isso poste ai boa sorte

já que usa o xampp não terá problemas quanto a criaçao das tabelas

Editado por rickayron
Link para o comentário
Compartilhar em outros sites

  • 0

brigadao pelas dicas começou a iluminar rsrs

mais uma coisa na hora que for clicar no botao iniciar simulador no caso vai chamar em php a relacao de 10 perguntas do banco MySql e mostrar na tela. Mas isso faço como ??? em SQL? chamo em php uma consulta ou algum codigo PHP

e outra coisa importante as questões serão apresentadas de formas aleatórias a cada execução do programa

realmente sou bem leigo no assunto rsrs

vou procurar um plano de hospedagem e posto o site aki depois de tudo pronto...

valeu novamente

Link para o comentário
Compartilhar em outros sites

  • 0
brigadao pelas dicas começou a iluminar rsrs

mais uma coisa na hora que for clicar no botao iniciar simulador no caso vai chamar em php a relacao de 10 perguntas do banco MySql e mostrar na tela. Mas isso faço como ??? em SQL? chamo em php uma consulta ou algum codigo PHP

e outra coisa importante as questões serão apresentadas de formas aleatórias a cada execução do programa

realmente sou bem leigo no assunto rsrs

vou procurar um plano de hospedagem e posto o site aki depois de tudo pronto...

valeu novamente

<form name="questionario" action="questionario_processa.php" metlhod="POST">

no evento action envia os dados para a pagina questionario_processa.php onde essa vai processar os dados

Link para o comentário
Compartilhar em outros sites

  • 0

Ola pessoal há eu de novo com o simulador...

Tenho que entregar esse projeto na facu semana que vem mas to com certos problemas

Ocorre o seguinte:

É o administrador que determina a quantidade de questões por execução, fica gravado no banco essa quantidade e é exibida uma questão por página.

Coloco numa $_SESSION todos os ids selecionados de forma aleatório com LIMIT da quantidade determinada pelo admin - ate aki tudo otimo

O problema é na visualização:

No exibir.php não sei pegar o índice certo e fazer o select com base nessa id

Depois chamo o processa.php que tem que chamar o exibir.php ate quantidade -1 pois tem o finalizar.php que é o gabarito que nem comecei ainda.

Se eu clico em Próxima depois de demorar mil anos não incrementa o numero da questão nem muda a pergunta

Se eu clico em voltar no browser muda sempre de forma aleatório a questão

Que comando faço para percorrer $_SESSION e indo chamando outra página ??? é conveniente usar ela session para esse caso de simulador ??

quais são os erros mais grotescos do meu codigo ? o que posso fazer pra melhora-lo ?

Espero não ter complicado muito

valeu...

simulador.php

<?php

session_start();

include "Config/config_simulador.php";

$_SESSION[cont]=1;# exibi o numero da questao

$sql = mysql_query("select qtde from qtde"); # o admin q determina a quantidade de perguntas por execuçao

while($linha = mysql_fetch_array($sql)){ # como pego apenas um valor direto sem usar o while?? tenho apenas esse campo na tabela qtde

$qtde=$linha[qtde];

}

$_SESSION[qtde]=$qtde;

if ($qtde == 0)

echo "Nenhuma pergunta a ser exibida!";

else

{

$vet= mysql_query("select distinct id from perguntas order by rand() LIMIT $qtde"); # utilizando o distinct vai pegar valores aleatorios sem repetir

while($linha = mysql_fetch_array($vet)){

$_SESSION=$linha[id]; # coloco na sessao todos os ids necessarios - fazendo isso apenas uma vez na execuçao

}

echo "&lt;script>document.location.href='exibir.php'</script>";

}

?>

exibir.php

<?php

session_start();

include "Config/config_sistema.php";

$var=$_SESSION; #problema ta aki preciso pegar a posição 0 pra primeira pagina depois posicao 1 pra segunda etc

$consulta = mysql_query("select * from perguntas where id = $var");

?>

.

.

.

<form action="processa.php" method="post">

<tr>

<?php while ($linha = mysql_fetch_array($consulta)){ ?>

<td width="10%" aling = "top" height="91"><?php echo $_SESSION[cont].")"; ?></td>

<td height="91"><?php echo $linha[pergunta];?></td>

<TR>

<td width="10%"><input type="radio" name="op" value="a" > A)</td>

<td><?php echo $linha[a1];?></td>

<TR>

<td width="10%"><input type="radio" name="op" value= "b" > B )</td>

<td><?php echo $linha[a2];?></td>

<TR>

<td width="10%"><input type="radio" name="op" value= "c" > C)</td>

<td><?php echo $linha[a3];?></td>

<TR>

<td width="10%"><input type="radio" name="op" value= "d" > D)</td>

<td><?php echo $linha[a4];} // fecho o while

?></td>

<input type="hidden" name="questao">

<TR>

<td colspan="2"><input type="submit" value="Próxima"></td>

</form>

processa.php

<?php

session_start();

include "Config/config_simulador.php";

$pergunta= $_POST['questao];

$correta= $_POST['op'];

# pretendo gravar em arquivo txt as opcoes de respostas para depos comparar com a correta do banco de dados

while($_SESSION[qtde] > $_SESSION[cont]){ //aki tem erro de quantidade de paginas chamadas

echo "&lt;script>document.location.href='exibir.php'</script>";

}

$_SESSION[cont]+=1;

?>

Link para o comentário
Compartilhar em outros sites

  • 0
Ola pessoal há eu de novo com o simulador...

Tenho que entregar esse projeto na facu semana que vem mas to com certos problemas

Ocorre o seguinte:

É o administrador que determina a quantidade de questões por execução, fica gravado no banco essa quantidade e é exibida uma questão por página.

Coloco numa $_SESSION todos os ids selecionados de forma aleatório com LIMIT da quantidade determinada pelo admin - ate aki tudo otimo

O problema é na visualização:

No exibir.php não sei pegar o índice certo e fazer o select com base nessa id

Depois chamo o processa.php que tem que chamar o exibir.php ate quantidade -1 pois tem o finalizar.php que é o gabarito que nem comecei ainda.

Se eu clico em Próxima depois de demorar mil anos não incrementa o numero da questão nem muda a pergunta

ola você não poderia usar a paginaçao

você faz a consulta com o limit imposto

vai retornar todos dos dados ai você a paginaçao para exibir um a um acho que seu sistema ira ficar mais rapido e mais dinamico

Se eu clico em voltar no browser muda sempre de forma aleatório a questão

Que comando faço para percorrer $_SESSION e indo chamando outra página ??? é conveniente usar ela session para esse caso de simulador ??

quais são os erros mais grotescos do meu codigo ? o que posso fazer pra melhora-lo ?

Espero não ter complicado muito

valeu...

simulador.php

<?php

session_start();

include "Config/config_simulador.php";

$_SESSION[cont]=1;# exibi o numero da questao

$sql = mysql_query("select qtde from qtde"); # o admin q determina a quantidade de perguntas por execuçao

while($linha = mysql_fetch_array($sql)){ # como pego apenas um valor direto sem usar o while?? tenho apenas esse campo na tabela qtde

$qtde=$linha[qtde];

}

$_SESSION[qtde]=$qtde;

if ($qtde == 0)

echo "Nenhuma pergunta a ser exibida!";

else

{

$vet= mysql_query("select distinct id from perguntas order by rand() LIMIT $qtde"); # utilizando o distinct vai pegar valores aleatorios sem repetir

while($linha = mysql_fetch_array($vet)){

$_SESSION=$linha[id]; # coloco na sessao todos os ids necessarios - fazendo isso apenas uma vez na execuçao

}

echo "&lt;script>document.location.href='exibir.php'</script>";

}

?>

exibir.php

<?php

session_start();

include "Config/config_sistema.php";

$var=$_SESSION; #problema ta aki preciso pegar a posição 0 pra primeira pagina depois posicao 1 pra segunda etc

$consulta = mysql_query("select * from perguntas where id = $var");

?>

.

.

.

<form action="processa.php" method="post">

<tr>

<?php while ($linha = mysql_fetch_array($consulta)){ ?>

<td width="10%" aling = "top" height="91"><?php echo $_SESSION[cont].")"; ?></td>

<td height="91"><?php echo $linha[pergunta];?></td>

<TR>

<td width="10%"><input type="radio" name="op" value="a" > A)</td>

<td><?php echo $linha[a1];?></td>

<TR>

<td width="10%"><input type="radio" name="op" value= "b" > B )</td>

<td><?php echo $linha[a2];?></td>

<TR>

<td width="10%"><input type="radio" name="op" value= "c" > C)</td>

<td><?php echo $linha[a3];?></td>

<TR>

<td width="10%"><input type="radio" name="op" value= "d" > D)</td>

<td><?php echo $linha[a4];} // fecho o while

?></td>

<input type="hidden" name="questao">

<TR>

<td colspan="2"><input type="submit" value="Próxima"></td>

</form>

processa.php

<?php

session_start();

include "Config/config_simulador.php";

$pergunta= $_POST['questao];

$correta= $_POST['op'];

# pretendo gravar em arquivo txt as opcoes de respostas para depos comparar com a correta do banco de dados

while($_SESSION[qtde] > $_SESSION[cont]){ //aki tem erro de quantidade de paginas chamadas

echo "&lt;script>document.location.href='exibir.php'</script>";

}

$_SESSION[cont]+=1;

?>

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...