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

Script Gerador de Simulados - PHP + SQL


vargas21

Pergunta

Pessoal, estou tentando fazer um simulado online no estilo que encontramos no site do detran.

Estou usando o código abaixo para gerar as perguntas de acordos com as preferências do usuário (dificuldade, número de questões, etc), porém, quando clico em "mostrar prova" não acontece nada.

<?
include ("./conecta.php"); 
include ("./functions.php");
?> 

<html>
<link rel="stylesheet" type="text/css" href="estiloIE.css">
<head>
<meta http-equiv="Content-Language" content="pt-br">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Elaboração do Teste</title>
</head>

<body>
<div id='bt3' style='position:absolute; left:20px; top:10px; width:185px; height:100px; cursor:hand; BORDER-RIGHT: #bbbbbb 0px solid; BORDER-TOP: #bbbbbb 0px solid; FONT-SIZE: 11px; BORDER-LEFT: #bbbbbb 0px solid; COLOR: #000000; BORDER-BOTTOM: #bbbbbb 0px solid;'><img src='logo.gif' border='0'></div>
<? menu(); ?>

<? if ($modo==1 || !isset($modo))  // selecao de questoes
     {?>
<form method="POST" ACTION="elabora.php?modo=2">
  <br><br><br><br><br><br><br>
  <p align="center"><font face=verdana size=2 color=#666699>Elaboração do Teste</p>
  <p align="center">Disciplina <select size="1" name="disciplina">
  <?php 
      // tabela de disciplinas
      $estados  = "select * from tipos order by descricao";
      $restados = mysql_query($estados);
      while ($pm_partners = mysql_fetch_array($restados))
       {
         echo "<OPTION VALUE=\"$pm_partners[codigo] - $pm_partners[descricao]\">$pm_partners[descricao] </OPTION>\n";
        }
      // Fim da tabela de estados
      ?>
        
  </select></p>
  <p align="center" class="letreiro">Grau de dificuldade <input type="radio" value="fácil" name="grau">Fácil&nbsp;
  <input type="radio" value="médio" name="grau"> Médio&nbsp; <input type="radio" value="difícil" checked name="grau">
  Difícil</p>
  <p align="center">Qtde de Questões <input class="caixa" type="text" name="qq" size="5" maxlength="5"></p>
  <p align="center"><input type="submit" value="Montar a prova" name="B1" style="color:#000099;background-color:#ffffff;cursor:hand;border-width:1px;border-style:solid;border-color:#66aaff"></p>
</form>
<?}

if ($modo==2)  // prova na tela
  {
  ?>
<form method="POST" action="elabora.php?modo=3">
<br><br><br><br><br><br><br>
  <div align="center">
    <center>
	<input type=hidden name=d value='<? echo $disciplina; ?>'>
	<input type=hidden name=q value='<? echo $qq; ?>'>
	<input type=hidden name=g value='<? echo $grau; ?>'>
<?    
	  echo "<p class=letreiro>Disciplina     : <b>$disciplina</b></p>";
	  echo "<p class=letreiro>Nº de Questões : <b>$qq</b></p>";
	  echo "<p class=letreiro>Nível    : <b>$grau</b></p>";
      // questoes
	  $mary = explode(" - ",$disciplina);
	  if ($grau=="fácil")
        $q  = "select * from questoes where grupo=$mary[0] and grau=1 order by rand() limit $qq";
      else if ($grau=="médio")
        $q  = "select * from questoes where grupo=$mary[0] and grau=2 order by rand() limit $qq";
      else if ($grau=="difícil")
        $q  = "select * from questoes where grupo=$mary[0] and grau=3 order by rand() limit $qq";

      $rq = mysql_query($q);
	  $i  = 0;
	  $k  = 1;
	  if (mysql_num_rows($rq)>0)
	   {
		  while ($pm = mysql_fetch_array($rq))
		   {
			  $i = $i + 1;
			  ?>
			  <table border="1" width="100%" cellspacing="0" cellpadding="0" height="35" bordercolordark="white" bordercolorlight="#6699FF" >
				  <tr>
					<td width="100%" colspan="2"><font color=#0099CC><? echo "$k) $pm[pergunta]"; ?></font></td>
				  </tr>
				  <tr>
					<td width="82%"><b>a)</b>&nbsp;<? echo $pm[alternativa1]; ?></td>
					<td width="18%">
					  <p align="center"><input type="radio" value="C" name='<? echo "L".$i."R".$k."[]";?>'>C&nbsp; <input type="radio" value="E" name='<? echo "L".$i."R".$k."[]";?>'>E&nbsp;
					  <input type="radio" value="S" name='<? echo "L".$i."R".$k."[]";?>' checked>SR<input type='hidden' name='<? echo "L".$i."S".$k."[]";?>' value='<? echo $pm[resposta1]; ?>'></td>
				  </tr>
				  <? $i = $i+1; ?>
				  <tr>
					<td width="82%"><b>b)</b>&nbsp;<? echo $pm[alternativa2]; ?></td>
					<td width="18%">
					  <p align="center"><input type="radio" value="C" name='<? echo "L".$i."R".$k."[]";?>'>C&nbsp; <input type="radio" value="E" name='<? echo "L".$i."R".$k."[]";?>'>E&nbsp;
					  <input type="radio" value="S" name='<? echo "L".$i."R".$k."[]";?>' checked>SR<input type='hidden' name='<? echo "L".$i."S".$k."[]";?>' value='<? echo $pm[resposta2]; ?>'></td>
				  </tr>
				  <? $i = $i+1; ?>
				  <tr>
					<td width="82%"><b>c)</b>&nbsp;<? echo $pm[alternativa3]; ?></td>
					<td width="18%">
					  <p align="center"><input type="radio" value="C" name='<? echo "L".$i."R".$k."[]";?>'>C&nbsp; <input type="radio" value="E" name='<? echo "L".$i."R".$k."[]";?>'>E&nbsp;
					  <input type="radio" value="S" name='<? echo "L".$i."R".$k."[]";?>' checked>SR<input type='hidden' name='<? echo "L".$i."S".$k."[]";?>' value='<? echo $pm[resposta3]; ?>'></td>
				  </tr>
				  <? $i = $i+1; ?>
				  <tr>
					<td width="82%"><b>d)</b>&nbsp;<? echo $pm[alternativa4]; ?></td>
					<td width="18%">
					  <p align="center"><input type="radio" value="C" name='<? echo "L".$i."R".$k."[]";?>'>C&nbsp; <input type="radio" value="E" name='<? echo "L".$i."R".$k."[]";?>'>E&nbsp;
					  <input type="radio" value="S" name='<? echo "L".$i."R".$k."[]";?>' checked>SR<input type='hidden' name='<? echo "L".$i."S".$k."[]";?>' value='<? echo $pm[resposta4]; ?>'></td>
				  </tr>
				  <? $i = $i+1; ?>
				  <tr>
					<td width="82%"><b>e)</b>&nbsp;<? echo $pm[alternativa5]; ?></td>
					<td width="18%">
					  <p align="center"><input type="radio" value="C" name='<? echo "L".$i."R".$k."[]";?>'>C&nbsp; <input type="radio" value="E" name='<? echo "L".$i."R".$k."[]";?>'>E&nbsp;
					  <input type="radio" value="S" name='<? echo "L".$i."R".$k."[]";?>' checked>SR<input type='hidden' name='<? echo "L".$i."S".$k."[]";?>' value='<? echo $pm[resposta5]; ?>'></td>
				  </tr>
				</table>
				<br>
				  <?
					$k = $k + 1;
					$i  = 0;
	     }
	   ?>
	</center>
    </div>
    <p align="center"><input type="submit" value="Corrigir" name="B1" style="color:#000099;background-color:#ffffff;cursor:hand;border-width:1px;border-style:solid;border-color:#66aaff"></p>
	</form>
	<?}
	else
	  {
	    echo "<br><br><br><br><br><p><font face=verdana size=2 color=#336699>Não encontrou registros!!!";
		echo "<br><a href='elabora.php?modo=1'>Tentar outro...</a></font></p>";
	}?>
<?}

if ($modo==3) // correção (gabarito)
  {
 ?>
<form method="POST" action="elabora.php?modo=1">
  <div align="center">
    <center>
     <br><br><br><br><br>
<?  
	  echo "<p class=letreiro>Correção da Prova</b></p>";
	  echo "<p class=letreiro>Diciplina : <b>$d</b>&nbsp;&nbsp;Nº de Questões : <b>$q</b>&nbsp;&nbsp;Grau : <b>$g</b></p>";
	  // faz o gabarito
 	  for ($j=1;$j<$q+1;$j++)
	    {
		  for ($l=1;$l<=5;$l++)
			{
			   $vv[] = "L".$l."R".$j."[0]";
			   $vs[] = "L".$l."S".$j."[0]";
			}
	    }echo "<div id='bt1' style='position:absolute; left:20px; top:160px; width:185px; height:900px; cursor:hand;'>";
echo "<font face=verdana size=2 color=#666699>Respostas do usuário<br>";	  
echo "<table border='1' width='175' cellspacing='0' cellpadding='0' height='35' bordercolordark='white' bordercolorlight='#6699FF' ><tr><td align=center bgcolor=#006699><font color=#FFFFFF>&nbsp;</td><td align=center bgcolor=#006699><font color=#FFFFFF>A</td><td align=center  bgcolor=#006699><font color=#FFFFFF>B</td><td align=center bgcolor=#006699><font color=#FFFFFF>C</td><td align=center  bgcolor=#006699><font color=#FFFFFF>D</td><td align=center  bgcolor=#006699><font color=#FFFFFF>E</td></tr><tr><td align=center bgcolor=#006699><font color=#FFFFFF>1</font></td>";
	  // respostas do usuario
	  $linha = 0; $tot = 1; $b = 1;
      while($x = each(&$vv)) 
      { 
       $tot = $tot + 1;
	   $apgP = '$app=$'."$x[1];";
	   eval($apgP);
	   //
	   $prova[] = $app;
	   if ($linha <= 4)
		 {
	       echo "<td align=center>$app</td>";
		   $linha = $linha +1;
		 }
       else
		 {
           $b = $b + 1;
	       echo "</tr><tr><td align=center bgcolor=#006699><font color=#FFFFFF>$b</font></td><td align=center>$app</td>";
		   $linha = 1; 
		 }
      }
echo "</tr></table>";
echo "</div>";

echo "<div id='bt2' style='position:absolute; left:550px; top:160px; width:185px; height:900px; cursor:hand; '>";
echo "<font face=verdana size=2 color=#666699>Gabarito<br>";	  
echo "<table border='1' width='175' cellspacing='0' cellpadding='0' height='35' bordercolordark='white' bordercolorlight='#6699FF' ><tr><td align=center bgcolor=#006699><font color=#FFFFFF>&nbsp;</td><td align=center bgcolor=#006699><font color=#FFFFFF>A</td><td align=center  bgcolor=#006699><font color=#FFFFFF>B</td><td align=center bgcolor=#006699><font color=#FFFFFF>C</td><td align=center  bgcolor=#006699><font color=#FFFFFF>D</td><td align=center  bgcolor=#006699><font color=#FFFFFF>E</td></tr><tr><td align=center bgcolor=#006699><font color=#FFFFFF>1</font></td>";

      // respostas do banco
	  $linhaG = 0; $b = 1;
      while($y = each(&$vs)) 
      { 
	   $apgS = '$aps=$'."$y[1];";
	   eval($apgS);
	   $resultado[] = $aps;
	   if ($linhaG <= 4)
		 {
	       echo "<td align=center>$aps</td>";
		   $linhaG = $linhaG +1;
		 }
       else
		 {
           $b = $b + 1;
	       echo "</tr><tr><td align=center bgcolor=#006699><font color=#FFFFFF>$b</font></td><td align=center>$aps</td>";
		   $linhaG = 1; 
		 }

      }
echo "</tr></table>";
echo "</div>";

// confere resultado
$pontos = 0; $acertos = 0; $erros = 0;
for ($i =0; $i < count($prova); $i++) 
  {
     if ($prova[$i]==$resultado[$i])
	  {
		 $pontos = $pontos + 1;
		 $acertos= $acertos + 1;
	  }
     else if ($prova[$i]!=$resultado[$i] && $prova[$i]=="S")
	  {
	  }
     else if ($prova[$i]!=$resultado[$i] && $prova[$i]!="S")
	  {
		 $pontos = $pontos - 1;
		 $erros  = $erros + 1;
	  }
}

$saldo = $acertos - $erros;

$percentual = ($saldo * 100) / ($q * 5);
$percentual = number_format("$percentual", 2, ",", ".");


?>
    </center>
  </div>
  <br>
  <p align="center">Acertos    ->&nbsp;<b><? echo $acertos; ?></b></p>
  <p align="center">Erros      ->&nbsp;<b><? echo $erros; ?></b></p>
  <p align="center">Saldo      ->&nbsp;<b><? echo $saldo; ?></b></p>
  <p align="center">Percentual ->&nbsp;<b><? echo "$percentual (%)"; ?></b></p>
  <p style='font-family:verdana;font-size:8pt;color:#808080;text-align:center'>Fórmula do cálculo: (((Acertos[<? echo $acertos; ?>] - Erros[<? echo $erros; ?>]) * 100) /<br> (Nº Questões[<? echo $q; ?>] x Nº Opções[5]))</p>
  <p align="center"><input type="submit" value="Fazer novo teste" name="B1" style="color:#000099;background-color:#ffffff;cursor:hand;border-width:1px;border-style:solid;border-color:#66aaff"></p>
</form>
<?}?>
<? rodape();?>
</body>

</html>

Alguém poderia me ajudar a encontrar o motivo para não funcionar?

Obrigado

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

O problema está no tratamento dos dados passados via GET e via POST. Você não esta fazendo nenhum. Este artigo te ajudará a entender melhor o seu problema.

Fora isso vai te facilitar um bom tanto usar vários níveis de array nos names dos inputs no formulário de perguntas.

//Em vez de pensar em escrever
<input type="radio" value="C" name='<?php echo "L" . $i . "R" . $k . "[]"; ?>'>C&nbsp;
//Escrever
<input type="radio" value="C" name='<?php echo "L[" . $i . "][R][" . $k . "][]"; ?>'>C&nbsp;

Porque depois você só vai precisar usar um foreach para acessar todas as perguntas e respostas.

Abraços.

Tudo de bom.

Link para o comentário
Compartilhar em outros sites

  • 0

Marcelo, instalei o código no meu servidor mas está dando erro... Você poderia me ajudar?

Quando clico em "Montar Prova" dá este erro:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/a4382370/public_html/simulado/elabora.php on line 86

Código do erro:

<?
include ("./conecta.php");
include ("./functions.php");
$modo = $_REQUEST['modo'];
$acao = $_REQUEST['acao'];
$id = $_REQUEST['id'];
//echo "$modo modo <br><br>";
?>
<html>
<link rel="stylesheet" type="text/css" href="estiloIE.css">
<head>
<meta http-equiv="Content-Language" content="pt-br">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Elaboração do Teste</title>
</head>
<body>
<p align="left"><img src="./logo.gif"></p>
<? menu(); ?>
<? if ($modo==1 || !isset($modo)) // selecao de questoes
{?>
<form method="POST" ACTION="elabora.php?modo=2">
<p align="center"><font face=verdana size=2 color=#666699>Elaboração do Teste</p>
<p align="center">Disciplina <select size="1" name="disciplina">
<?php
// tabela de disciplinas
$estados = "select * from tipos_scriptsweb order by descricao";
$restados = mysql_query($estados);
while ($pm_partners = mysql_fetch_array($restados))
{
echo "<OPTION VALUE=\"$pm_partners[codigo] - $pm_partners[descricao]\">$pm_partners[descricao] </OPTION>\n";
}
// Fim da tabela de estados
?>
</select></p>
<p align="center" class="letreiro">Grau de dificuldade <input type="radio" value="fácil" name="grau" checked>Fácil&nbsp;
<input type="radio" value="médio" name="grau"> Médio&nbsp; <input type="radio" value="difícil" name="grau">
Difícil</p>
<p align="center">Qtde de Questões <input class="caixa" type="text" name="qualquer" size="5" maxlength="5" value="5"></p>
<p align="center"><input type="submit" value="Montar a prova" name="B1" style="color:#000099;background-color:#ffffff;cursor:hand;border-width:1px;border-style:solid;border-color:#66aaff"></p>
</form>
<? }
if ($modo==2) // prova na tela
{
$disciplina = $_REQUEST['disciplina'];
$qualquer = $_REQUEST['qualquer'];
$grau = $_REQUEST['grau'];
?>
<form method="POST" action="elabora.php?modo=3">
<div align="center">
<center>
<input type=hidden name=d value='<? echo $disciplina; ?>'>
<input type=hidden name=q value='<? echo $qualquer; ?>'>
<input type=hidden name=g value='<? echo $grau; ?>'>
<?
echo "<p class=letreiro>Disciplina : <b>$disciplina</b></p>";
echo "<p class=letreiro>Nº de Questões : <b>$qualquer</b></p>";
echo "<p class=letreiro>Nível : <b>$grau</b></p>";
// questoes
$mary = explode(" - ",$disciplina);
if ($grau=="fácil"){
$q = "select * from questoes_scriptsweb where grupo=$mary[0] and grau=1 order by rand() limit $qualquer";
}
else if ($grau=="médio"){
$q = "select * from questoes_scriptsweb where grupo=$mary[0] and grau=2 order by rand() limit $qualquer";
}
else if ($grau=="difícil"){
$q = "select * from questoes_scriptsweb where grupo=$mary[0] and grau=3 order by rand() limit $qualquer";
}
// echo "SQL: ".$q."<br><Br>"; // Foi utilizado apenas para efeito de reparo www.scriptsweb.com.br
$rq = mysql_query($q);
$i = 0;
$k = 1;
if (mysql_num_rows($rq)>0)
{
while ($pm = mysql_fetch_array($rq))
{
$i = $i + 1;
?>
<table border="1" width="100%" cellspacing="0" cellpadding="0" height="35" bordercolordark="white" bordercolorlight="#6699FF" >
<tr>
<td width="100%" colspan="2"><font color=#0099CC><? echo "$k) $pm[pergunta]"; ?></font></td>
</tr>
<tr>
<td width="82%"><b>a)</b>&nbsp;<? echo $pm['alternativa1']; ?></td>
<td width="18%">
<p align="center"><input type="radio" value="C" name='<? echo "L".$i."R".$k."[]";?>'>
Correto&nbsp;
<input type="radio" value="E" name='<? echo "L".$i."R".$k."[]";?>'>
Errado&nbsp;
<input type="radio" value="S" name='<? echo "L".$i."R".$k."[]";?>' checked>
Sem Resposta
<input type='hidden' name='<? echo "L".$i."S".$k."[]";?>' value=<? echo $pm['resposta1]; ?>'></td>
</tr>
<? $i = $i+1; ?>
<tr>
<td width="82%"><b>b)</b>&nbsp;<? echo $pm['alternativa2']; ?></td>
<td width="18%">
<p align="center"><input type="radio" value="C" name='<? echo "L".$i."R".$k."[]";?>'>
Correto&nbsp;
<input type="radio" value="E" name='<? echo "L".$i."R".$k."[]";?>'>
Errado&nbsp;
<input type="radio" value="S" name='<? echo "L".$i."R".$k."[]";?>' checked>
Sem Resposta
<input type='hidden' name='<? echo "L".$i."S".$k."[]";?>' value=<? echo $pm['resposta2]; ?>'></td>
</tr>
<? $i = $i+1; ?>
<tr>
<td width="82%"><b>c)</b>&nbsp;<? echo $pm['alternativa3']; ?></td>
<td width="18%">
<p align="center"><input type="radio" value="C" name='<? echo "L".$i."R".$k."[]";?>'>
Correto&nbsp;
<input type="radio" value="E" name='<? echo "L".$i."R".$k."[]";?>'>
Errado&nbsp;
<input type="radio" value="S" name='<? echo "L".$i."R".$k."[]";?>' checked>
Sem Resposta
<input type='hidden' name='<? echo "L".$i."S".$k."[]";?>' value=<? echo $pm['resposta3]; ?>'></td>
</tr>
<? $i = $i+1; ?>
<tr>
<td width="82%"><b>d)</b>&nbsp;<? echo $pm['alternativa4']; ?></td>
<td width="18%">
<p align="center"><input type="radio" value="C" name='<? echo "L".$i."R".$k."[]";?>'>
Correto&nbsp;
<input type="radio" value="E" name='<? echo "L".$i."R".$k."[]";?>'>
Errado&nbsp;
<input type="radio" value="S" name='<? echo "L".$i."R".$k."[]";?>' checked>
Sem Resposta
<input type='hidden' name='<? echo "L".$i."S".$k."[]";?>' value=<? echo $pm['resposta4]; ?>'></td>
</tr>
<? $i = $i+1; ?>
<tr>
<td width="82%"><b>e)</b>&nbsp;<? echo $pm['alternativa5']; ?></td>
<td width="18%">
<p align="center"><input type="radio" value="C" name='<? echo "L".$i."R".$k."[]";?>'>
Correto&nbsp;
<input type="radio" value="E" name='<? echo "L".$i."R".$k."[]";?>'>
Errado&nbsp;
<input type="radio" value="S" name='<? echo "L".$i."R".$k."[]";?>' checked>
Sem Resposta
<input type='hidden' name='<? echo "L".$i."S".$k."[]";?>' value=<? echo $pm['resposta5]; ?>'></td>
</tr>
</table>
<br>
<?
$k = $k + 1;
$i = 0;
}
?>
</center>
</div>
<p align="center"><input type="submit" value="Corrigir" name="B1" style="color:#000099;background-color:#ffffff;cursor:hand;border-width:1px;border-style:solid;border-color:#66aaff"></p>
</form>
<?}
else
{
echo "<br><br><br><br><br><p><font face=verdana size=2 color=#336699>Não Existem Questões com esse nível de dificultade Cadastradas para esta Matéria!!!<br><br>Utilize o Menu \"Cadastro de Questões para Inserir Novas Questões\"<br><br>";
echo "<br><a href='elabora.php?modo=1'>Clique Aqui para Tentar outro...</a></font></p>";
}?>
<?}
if ($modo==3) // correção (gabarito)
{
$d = $_POST['d'];
$q = $_POST['q'];
$g = $_POST['g'];
?>
<form method="POST" action="elabora.php?modo=1">
<div align="center">
<center>
<?
echo "<p class=letreiro>Correção da Prova</b></p>";
echo "<p class=letreiro>Diciplina : <b>$d</b>&nbsp;&nbsp;Nº de Questões : <b>$q</b>&nbsp;&nbsp;Grau : <b>$g</b></p>";
// faz o gabarito
for ($j=1;$j<$q+1;$j++)
{
for ($l=1;$l<=5;$l++)
{
$vv[] = $_POST["L".$l."R".$j][0];
$vs[] = $_POST["L".$l."S".$j][0];
}
}
echo "<table width='500' border='0'><tr><td valign='top' align='center'><center><font face=verdana size=2 color=#666699>Respostas do usuário</center><br>";
echo "<table border='1' width='175' cellspacing='0' cellpadding='0' height='35' bordercolordark='white' bordercolorlight='#6699FF' ><tr><td align=center bgcolor=#006699><font color=#FFFFFF>&nbsp;</td><td align=center bgcolor=#006699><font color=#FFFFFF>A</td><td align=center bgcolor=#006699><font color=#FFFFFF>B</td><td align=center bgcolor=#006699><font color=#FFFFFF>C</td><td align=center bgcolor=#006699><font color=#FFFFFF>D</td><td align=center bgcolor=#006699><font color=#FFFFFF>E</td></tr><tr><td align=center bgcolor=#006699><font color=#FFFFFF>1</font></td>";
// respostas do usuario
$linha = 0; $tot = 1; $b = 1;
for($yu=0; $yu < count($vv); $yu++)
{
$tot = $tot + 1;
$prova[] = $vv[$yu];
if ($linha <= 4)
{
echo "<td align=center>$vv[$yu]</td>";
$linha = $linha +1;
}
else
{
$b = $b + 1;
echo "</tr><tr><td align=center bgcolor=#006699><font color=#FFFFFF>$b</font></td><td align=center>$vv[$yu]</td>";
$linha = 1;
}
}
echo "</tr></table></td><td valign='top' align='center'>";
//echo "<div id='bt2' style='float:left; left:550px; top:160px; width:185px; height:auto; cursor:hand; '>";
echo "<center><font face=verdana size=2 color=#666699>Gabarito</center><br>";
echo "<table border='1' width='175' cellspacing='0' cellpadding='0' height='35' bordercolordark='white' bordercolorlight='#6699FF' ><tr><td align=center bgcolor=#006699><font color=#FFFFFF>&nbsp;</td><td align=center bgcolor=#006699><font color=#FFFFFF>A</td><td align=center bgcolor=#006699><font color=#FFFFFF>B</td><td align=center bgcolor=#006699><font color=#FFFFFF>C</td><td align=center bgcolor=#006699><font color=#FFFFFF>D</td><td align=center bgcolor=#006699><font color=#FFFFFF>E</td></tr><tr><td align=center bgcolor=#006699><font color=#FFFFFF>1</font></td>";
// respostas do banco
$linhaG = 0; $b = 1;
for($yu=0; $yu < count($vs); $yu++)
{
$resultado[] = $vs[$yu];
if ($linhaG <= 4)
{
echo "<td align=center>$vs[$yu]</td>";
$linhaG = $linhaG +1;
}
else
{
$b = $b + 1;
echo "</tr><tr><td align=center bgcolor=#006699><font color=#FFFFFF>$b</font></td><td align=center>$vs[$yu]</td>";
$linhaG = 1;
}
}
echo "</tr></table></td></tr></table>";
// confere resultado
$pontos = 0; $acertos = 0; $erros = 0;
for ($i =0; $i < count($prova); $i++)
{
if ($prova[$i]==$resultado[$i])
{
$pontos = $pontos + 1;
$acertos= $acertos + 1;
}
else if ($prova[$i]!=$resultado[$i] && $prova[$i]=="S")
{
$pontos = $pontos;
$erros = $erros;
}
else if ($prova[$i]!=$resultado[$i] && $prova[$i]!="S")
{
$pontos = $pontos - 1;
$erros = $erros + 1;
}
}
$saldo = $acertos - $erros;
$percentual = ($saldo * 100) / ($q * 5);
$percentual = number_format("$percentual", 2, ",", ".");
?>
</center>
<br><br><div style='font-family:verdana; font-size:12px'>
<p align="center">Acertos ->&nbsp;<b><? echo $acertos; ?></b></p>
<p align="center">Erros ->&nbsp;<b><? echo $erros; ?></b></p>
<p align="center">Saldo ->&nbsp;<b><? echo $saldo; ?></b></p>
<p align="center">Percentual ->&nbsp;<b><? echo "$percentual (%)"; ?></b></p>
<p style='font-family:verdana;font-size:8pt;color:#808080;text-align:center'>Fórmula do cálculo: (((Acertos[<? echo $acertos; ?>] - Erros[<? echo $erros; ?>]) * 100) /<br> (Nº Questões[<? echo $q; ?>] x Nº Opções[5]))</p></div>
<p align="center"><input type="submit" value="Fazer novo teste" name="B1" style="color:#000099;background-color:#ffffff;cursor:hand;border-width:1px;border-style:solid;border-color:#66aaff"></p>
</form>
<?}?>
<? rodape();?>
</body>
</html>

Desde Já agradeço.

Link para o comentário
Compartilhar em outros sites

  • 0

ola bom dia como faço pra conseguir um escript de simulado do detran??

meu e-mail maykonm16@hotmail.com

Em 2014-7-26 at 16:26, JpGonçalves disse:

Marcelo, instalei o código no meu servidor mas está dando erro... Você poderia me ajudar?

 

 

Quando clico em "Montar Prova" dá este erro:

 

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/a4382370/public_html/simulado/elabora.php on line 86

 

 

Código do erro:

 

<?
include ("./conecta.php");
include ("./functions.php");
 
$modo = $_REQUEST['modo'];
$acao = $_REQUEST['acao'];
$id = $_REQUEST['id'];
 
//echo "$modo modo <br><br>";
 
?>
 
<html>
<link rel="stylesheet" type="text/css" href="estiloIE.css">
<head>
<meta http-equiv="Content-Language" content="pt-br">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Elaboração do Teste</title>
</head>
 
<body>
<p align="left"><img src="./logo.gif"></p>
<? menu(); ?>
 
 
 
<? if ($modo==1 || !isset($modo)) // selecao de questoes
{?>
<form method="POST" ACTION="elabora.php?modo=2">
<p align="center"><font face=verdana size=2 color=#666699>Elaboração do Teste</p>
<p align="center">Disciplina <select size="1" name="disciplina">
<?php
// tabela de disciplinas
$estados = "select * from tipos_scriptsweb order by descricao";
$restados = mysql_query($estados);
while ($pm_partners = mysql_fetch_array($restados))
{
echo "<OPTION VALUE=\"$pm_partners[codigo] - $pm_partners[descricao]\">$pm_partners[descricao] </OPTION>\n";
}
// Fim da tabela de estados
?>
 
</select></p>
<p align="center" class="letreiro">Grau de dificuldade <input type="radio" value="fácil" name="grau" checked>Fácil&nbsp;
<input type="radio" value="médio" name="grau"> Médio&nbsp; <input type="radio" value="difícil" name="grau">
Difícil</p>
<p align="center">Qtde de Questões <input class="caixa" type="text" name="qualquer" size="5" maxlength="5" value="5"></p>
<p align="center"><input type="submit" value="Montar a prova" name="B1" style="color:#000099;background-color:#ffffff;cursor:hand;border-width:1px;border-style:solid;border-color:#66aaff"></p>
</form>
<? }
 
if ($modo==2) // prova na tela
{
$disciplina = $_REQUEST['disciplina'];
$qualquer = $_REQUEST['qualquer'];
$grau = $_REQUEST['grau'];
?>
<form method="POST" action="elabora.php?modo=3">
 
<div align="center">
<center>
<input type=hidden name=d value='<? echo $disciplina; ?>'>
<input type=hidden name=q value='<? echo $qualquer; ?>'>
<input type=hidden name=g value='<? echo $grau; ?>'>
<?
echo "<p class=letreiro>Disciplina : <b>$disciplina</b></p>";
echo "<p class=letreiro>Nº de Questões : <b>$qualquer</b></p>";
echo "<p class=letreiro>Nível : <b>$grau</b></p>";
// questoes
$mary = explode(" - ",$disciplina);
if ($grau=="fácil"){
$q = "select * from questoes_scriptsweb where grupo=$mary[0] and grau=1 order by rand() limit $qualquer";
}
else if ($grau=="médio"){
$q = "select * from questoes_scriptsweb where grupo=$mary[0] and grau=2 order by rand() limit $qualquer";
}
else if ($grau=="difícil"){
$q = "select * from questoes_scriptsweb where grupo=$mary[0] and grau=3 order by rand() limit $qualquer";
}
// echo "SQL: ".$q."<br><Br>"; // Foi utilizado apenas para efeito de reparo www.scriptsweb.com.br
$rq = mysql_query($q);
 
$i = 0;
$k = 1;
if (mysql_num_rows($rq)>0)
{
while ($pm = mysql_fetch_array($rq))
{
$i = $i + 1;
?>
<table border="1" width="100%" cellspacing="0" cellpadding="0" height="35" bordercolordark="white" bordercolorlight="#6699FF" >
<tr>
<td width="100%" colspan="2"><font color=#0099CC><? echo "$k) $pm[pergunta]"; ?></font></td>
</tr>
<tr>
<td width="82%"><b>a)</b>&nbsp;<? echo $pm['alternativa1']; ?></td>
<td width="18%">
<p align="center"><input type="radio" value="C" name='<? echo "L".$i."R".$k."[]";?>'>
Correto&nbsp;
<input type="radio" value="E" name='<? echo "L".$i."R".$k."[]";?>'>
Errado&nbsp;
<input type="radio" value="S" name='<? echo "L".$i."R".$k."[]";?>' checked>
Sem Resposta
<input type='hidden' name='<? echo "L".$i."S".$k."[]";?>' value=<? echo $pm['resposta1]; ?>'></td>
</tr>
<? $i = $i+1; ?>
<tr>
<td width="82%"><b>b)</b>&nbsp;<? echo $pm['alternativa2']; ?></td>
<td width="18%">
<p align="center"><input type="radio" value="C" name='<? echo "L".$i."R".$k."[]";?>'>
Correto&nbsp;
<input type="radio" value="E" name='<? echo "L".$i."R".$k."[]";?>'>
Errado&nbsp;
<input type="radio" value="S" name='<? echo "L".$i."R".$k."[]";?>' checked>
Sem Resposta
<input type='hidden' name='<? echo "L".$i."S".$k."[]";?>' value=<? echo $pm['resposta2]; ?>'></td>
</tr>
<? $i = $i+1; ?>
<tr>
<td width="82%"><b>c)</b>&nbsp;<? echo $pm['alternativa3']; ?></td>
<td width="18%">
<p align="center"><input type="radio" value="C" name='<? echo "L".$i."R".$k."[]";?>'>
Correto&nbsp;
<input type="radio" value="E" name='<? echo "L".$i."R".$k."[]";?>'>
Errado&nbsp;
<input type="radio" value="S" name='<? echo "L".$i."R".$k."[]";?>' checked>
Sem Resposta
<input type='hidden' name='<? echo "L".$i."S".$k."[]";?>' value=<? echo $pm['resposta3]; ?>'></td>
</tr>
<? $i = $i+1; ?>
<tr>
<td width="82%"><b>d)</b>&nbsp;<? echo $pm['alternativa4']; ?></td>
<td width="18%">
<p align="center"><input type="radio" value="C" name='<? echo "L".$i."R".$k."[]";?>'>
Correto&nbsp;
<input type="radio" value="E" name='<? echo "L".$i."R".$k."[]";?>'>
Errado&nbsp;
<input type="radio" value="S" name='<? echo "L".$i."R".$k."[]";?>' checked>
Sem Resposta
<input type='hidden' name='<? echo "L".$i."S".$k."[]";?>' value=<? echo $pm['resposta4]; ?>'></td>
</tr>
<? $i = $i+1; ?>
<tr>
<td width="82%"><b>e)</b>&nbsp;<? echo $pm['alternativa5']; ?></td>
<td width="18%">
<p align="center"><input type="radio" value="C" name='<? echo "L".$i."R".$k."[]";?>'>
Correto&nbsp;
<input type="radio" value="E" name='<? echo "L".$i."R".$k."[]";?>'>
Errado&nbsp;
<input type="radio" value="S" name='<? echo "L".$i."R".$k."[]";?>' checked>
Sem Resposta
<input type='hidden' name='<? echo "L".$i."S".$k."[]";?>' value=<? echo $pm['resposta5]; ?>'></td>
</tr>
</table>
<br>
<?
$k = $k + 1;
$i = 0;
}
?>
</center>
</div>
<p align="center"><input type="submit" value="Corrigir" name="B1" style="color:#000099;background-color:#ffffff;cursor:hand;border-width:1px;border-style:solid;border-color:#66aaff"></p>
</form>
<?}
else
{
echo "<br><br><br><br><br><p><font face=verdana size=2 color=#336699>Não Existem Questões com esse nível de dificultade Cadastradas para esta Matéria!!!<br><br>Utilize o Menu \"Cadastro de Questões para Inserir Novas Questões\"<br><br>";
echo "<br><a href='elabora.php?modo=1'>Clique Aqui para Tentar outro...</a></font></p>";
}?>
<?}
 
if ($modo==3) // correção (gabarito)
{
$d = $_POST['d'];
$q = $_POST['q'];
$g = $_POST['g'];
?>
<form method="POST" action="elabora.php?modo=1">
<div align="center">
<center>
 
<?
echo "<p class=letreiro>Correção da Prova</b></p>";
echo "<p class=letreiro>Diciplina : <b>$d</b>&nbsp;&nbsp;Nº de Questões : <b>$q</b>&nbsp;&nbsp;Grau : <b>$g</b></p>";
// faz o gabarito
for ($j=1;$j<$q+1;$j++)
{
for ($l=1;$l<=5;$l++)
{
$vv[] = $_POST["L".$l."R".$j][0];
$vs[] = $_POST["L".$l."S".$j][0];
}
}
echo "<table width='500' border='0'><tr><td valign='top' align='center'><center><font face=verdana size=2 color=#666699>Respostas do usuário</center><br>";
echo "<table border='1' width='175' cellspacing='0' cellpadding='0' height='35' bordercolordark='white' bordercolorlight='#6699FF' ><tr><td align=center bgcolor=#006699><font color=#FFFFFF>&nbsp;</td><td align=center bgcolor=#006699><font color=#FFFFFF>A</td><td align=center bgcolor=#006699><font color=#FFFFFF>B</td><td align=center bgcolor=#006699><font color=#FFFFFF>C</td><td align=center bgcolor=#006699><font color=#FFFFFF>D</td><td align=center bgcolor=#006699><font color=#FFFFFF>E</td></tr><tr><td align=center bgcolor=#006699><font color=#FFFFFF>1</font></td>";
// respostas do usuario
$linha = 0; $tot = 1; $b = 1;
for($yu=0; $yu < count($vv); $yu++)
{
$tot = $tot + 1;
$prova[] = $vv[$yu];
if ($linha <= 4)
{
echo "<td align=center>$vv[$yu]</td>";
$linha = $linha +1;
}
else
{
$b = $b + 1;
echo "</tr><tr><td align=center bgcolor=#006699><font color=#FFFFFF>$b</font></td><td align=center>$vv[$yu]</td>";
$linha = 1;
}
}
 
echo "</tr></table></td><td valign='top' align='center'>";
 
//echo "<div id='bt2' style='float:left; left:550px; top:160px; width:185px; height:auto; cursor:hand; '>";
echo "<center><font face=verdana size=2 color=#666699>Gabarito</center><br>";
echo "<table border='1' width='175' cellspacing='0' cellpadding='0' height='35' bordercolordark='white' bordercolorlight='#6699FF' ><tr><td align=center bgcolor=#006699><font color=#FFFFFF>&nbsp;</td><td align=center bgcolor=#006699><font color=#FFFFFF>A</td><td align=center bgcolor=#006699><font color=#FFFFFF>B</td><td align=center bgcolor=#006699><font color=#FFFFFF>C</td><td align=center bgcolor=#006699><font color=#FFFFFF>D</td><td align=center bgcolor=#006699><font color=#FFFFFF>E</td></tr><tr><td align=center bgcolor=#006699><font color=#FFFFFF>1</font></td>";
 
// respostas do banco
$linhaG = 0; $b = 1;
for($yu=0; $yu < count($vs); $yu++)
{
$resultado[] = $vs[$yu];
if ($linhaG <= 4)
{
echo "<td align=center>$vs[$yu]</td>";
$linhaG = $linhaG +1;
}
else
{
$b = $b + 1;
echo "</tr><tr><td align=center bgcolor=#006699><font color=#FFFFFF>$b</font></td><td align=center>$vs[$yu]</td>";
$linhaG = 1;
}
 
}
echo "</tr></table></td></tr></table>";
 
 
// confere resultado
$pontos = 0; $acertos = 0; $erros = 0;
for ($i =0; $i < count($prova); $i++)
{
if ($prova[$i]==$resultado[$i])
{
$pontos = $pontos + 1;
$acertos= $acertos + 1;
}
else if ($prova[$i]!=$resultado[$i] && $prova[$i]=="S")
{
$pontos = $pontos;
$erros = $erros;
}
else if ($prova[$i]!=$resultado[$i] && $prova[$i]!="S")
{
$pontos = $pontos - 1;
$erros = $erros + 1;
}
}
 
$saldo = $acertos - $erros;
 
$percentual = ($saldo * 100) / ($q * 5);
$percentual = number_format("$percentual", 2, ",", ".");
 
 
?>
</center>
<br><br><div style='font-family:verdana; font-size:12px'>
<p align="center">Acertos ->&nbsp;<b><? echo $acertos; ?></b></p>
<p align="center">Erros ->&nbsp;<b><? echo $erros; ?></b></p>
<p align="center">Saldo ->&nbsp;<b><? echo $saldo; ?></b></p>
<p align="center">Percentual ->&nbsp;<b><? echo "$percentual (%)"; ?></b></p>
<p style='font-family:verdana;font-size:8pt;color:#808080;text-align:center'>Fórmula do cálculo: (((Acertos[<? echo $acertos; ?>] - Erros[<? echo $erros; ?>]) * 100) /<br> (Nº Questões[<? echo $q; ?>] x Nº Opções[5]))</p></div>
<p align="center"><input type="submit" value="Fazer novo teste" name="B1" style="color:#000099;background-color:#ffffff;cursor:hand;border-width:1px;border-style:solid;border-color:#66aaff"></p>
</form>
<?}?>
<? rodape();?>
</body>
 
</html>

 

 

Desde Já agradeço.

ola bom dia como faço pra conseguir um escript de simulado do detran??

meu e-mail maykonm16@hotmail.com

 

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,3k
    • Posts
      652,3k
×
×
  • Criar Novo...