Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

LenS

Como "colher" respostas de um usuario em questionário em PHP e

Recommended Posts

Olá pessoal, este é meu primeiro post no forum, então me desculpem e me avisem se cometer algum erro.

 

Sou estagiario em uma empresa de desenvolvimento de sites e preciso criar um questionario online em php.

Já criei uma boa parte do código, agora só me falta fazer uma correção no formulario e exibir o resultado para o usuario. Mas

sou iniciante em php, acho q se resolve isso com array, mas não consigo pensar como, se alguem puder me ajudar. o código que

exibe as 3 questões do meu banco sql é esse:

 

prova.php

 

<?include ("conectar.php"); ?>

<?
$prova = $_GET['prova'];

$consulta = "SELECT * FROM perguntas WHERE idprova = $prova";

$result = mysql_query ($consulta,$conexao) or die ("Não foi possivel consultar o banco");

echo "						
		<form method='post' action='resultado.php'>
		";
$i = 1;

while ($linha = mysql_fetch_row($result))
{
echo "
			<font face='Verdana' color='gray' size='3'> $i) $linha[2] </font>

			<font face='Verdana' size='2'>
			<p> a) <input type='radio' name='respostas$i' value='a'> $linha[3] </p>
			<p> B) <input type='radio' name='respostas$i' value='b'> $linha[4] </p>
			<p> c) <input type='radio' name='respostas$i' value='c'> $linha[5] </p>
			<p> d) <input type='radio' name='respostas$i' value='d'> $linha[6] </p>
			<p> e) <input type='radio' name='respostas$i' value='e'> $linha[7] </p>
							<br>
			</font>
			";
		$i++;	
}
echo "
<input type='hidden' name='prova' value='$prova'>
<input type='submit' value='Enviar Respostas'>
</form>
";

?>

 

Vlw galera! :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu amigo pelas correções. ^_^

Mas eu gostaria de saber como eu faria para percorrer essas questões, corrigir as respostas e exibir quantas estão corretas e quantas estão erradas para o usuario.

 

No banco MySQL eu coloquei uma tabela onde na hora q o administrador cria a prova ele escolhe um resposta correta. a,b,c,d ou e... queria saber se tem como percorrer essas questões "colher" as respostas do usuario e consultar no banco para ver quantas estão corretas.

 

Mas valeu pelas correções nao sabia q tinha diferença entre o mysql_fetch_row com o Mysql_fetch array.... :lol:

Compartilhar este post


Link para o post
Compartilhar em outros sites

É mais ou menos isso ae cara, na minha tabela tenho o idpergunta, idprova, pergunta(que armazena o texto da pergunta), q1,q2,q3,q4,q5(que armazena cada alternativa da pergunta), e correta(que armazena a alternativa correta... a,b,c,d ou e...)

 

Ai no codigo q eu postei ele só ta consultando o banco e mostrando pra mim na tela as perguntas e as alternativas em radio buttons para o usuario escolher a resposta corretas.

 

Ai eu usaria essa minha tabela pra comparar as respostas dadas pelo usuario e as do banco e simplismente contar e exibia a quantidade de certas e erradas, nem precisa exibir um gabarito. só as quantidades.

 

Só que na hora de eu pegar essas variaveis das respostas em outra página eu nao sei como recuperar essas respostas dada pelo usuario.

Compartilhar este post


Link para o post
Compartilhar em outros sites

bem , você pode criar um formulario de GET , quando o cara enviar , vai mandar todas as respostas , e botar um if .. se a variavel 1 tiver valor , 2 tiver valor .. etc , ele faz uma query no banco 1 pra cada resposta .. e exibe as que acertou .. +/- assim a logica

entendeu ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendi muito bem não, hehehehe. :huh:

 

Na verdade eu tô com dificuldade de saber como eu vou pegar as respostas do usuario, pq se você reparar nos names que coloquei nos radio button, eles

no final são incrementados por uma variavel, foi uma solução bem porca q eu arranjei, kkkkk, pq sem essa variavel incrementando eu não conseguia escolher um radio para cada questão, quando eu marcava um de uma questão da pergunta 1 por exemplo, desmarcava da outra questão da pergunta 2.

 

while ($linha = mysql_fetch_array($result))
{
echo "
			<font face='Verdana' color='gray' size='3'> $i) $linha[pergunta] </font>

			<font face='Verdana' size='2'>
			<p> a) <input type='radio' name='respostas$i' value='a'> $linha[q1] </p>
			<p> B) <input type='radio' name='respostas$i' value='b'> $linha[q2] </p>
			<p> c) <input type='radio' name='respostas$i' value='c'> $linha[q3] </p>
			<p> d) <input type='radio' name='respostas$i' value='d'> $linha[q4] </p>
			<p> e) <input type='radio' name='respostas$i' value='e'> $linha[q5] </p>
			<br />
			</font>
			";
		$i++;	
}
echo "
<input type='hidden' name='prova' value='$prova'>
<input type='submit' value='Enviar Respostas'>
</form>
";

 

Nossa até eu fiquei enrolado com a minha explicação,hhaahahah, Tô tão confuso q nem explica consigo. :(

 

 

cada vez que o loop passa o name fica ex: respostas1, depois respostas2, etc.. e no meu banco tenho 3 perguntas, mas quando o administrador criar a provinha não vai ter uma quantidade fixa de questões.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sendo mais especifico na minha dúvida:

 

cada vez que o loop é executado a name dos radio buttons são incrementadas:

 

while ($linha = mysql_fetch_array($result))
{
echo "
			<font face='Verdana' color='gray' size='3'> $i) $linha[2] </font>

			<font face='Verdana' size='2'>
			<p> a) <input type='radio' name='respostas$i' value='a'> $linha[3] </p>
			<p> B) <input type='radio' name='respostas$i' value='b'> $linha[4] </p>
			<p> c) <input type='radio' name='respostas$i' value='c'> $linha[5] </p>
			<p> d) <input type='radio' name='respostas$i' value='d'> $linha[6] </p>
			<p> e) <input type='radio' name='respostas$i' value='e'> $linha[7] </p>
							<br>
			</font>
			";
		$i++;	
}

 

Alguem pode fazer algum rascunho pelo menos de código para armazenar o value selecionado de cada vez que o loop for executado?

pois cada vez que ele é executado o name que no caso é respostas$i passa a ser, respostas1, respostas2, respostas3... etc.

acredito que seja travez de arrays, mas nao sei como fazer.

 

Se alguem puder me ajudar quando terminar posto um tutorial de como criar um questionario de prova online e gerenciavel.

 

Vlw! ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.