Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde pessoas,
Estou tentando desenvolver um quiz dinâmico que recebe suas informações de um banco de dados.... porém eu não gostaria que fosse exibido todas as perguntas de uma vez, exemplo:
Digamos que tenho 5.000 perguntas no meu banco, informo na minha consulta que só quero 5 dessas 5.000 perguntas e em seguida gostaria de exibir 1 por vez (ai é que ta o problema):
A consulta faço dessa maneira:
<?php
$limite_perg = 5;
$sql = "SELECT * FROM perguntas order by id LIMIT $limite_perg"; $resultado = pg_query($sql) or die ("Problema na Consulta");
$linhas = pg_num_rows($resultado);
for ($i=0; $i<$linhas; $i++){
while ($linha = pg_fetch_array($resultado)) {
//recebo as informações do banco
$questao = $linha["questao"];
$respcerta = $linha["respcerta"];
$resperrada1 = $linha["resperrada1"];
$resperrada2 = $linha["resperrada2"];
$resperrada3 = $linha["resperrada3"];
$resperrada4 = $linha["resperrada4"];
$resperrada5 = $linha["resperrada5"];
//a ideia era inserir dentro de um array essas informações, para eu ter o controle da quantidade de perguntas que quero exibir (no meu caso de 1 em 1)
$arrayPergunta[$i] = $questao;
$arrayResposta0[$i] = $respcerta;
$arrayResposta1[$i] = $resperrada1;
$arrayResposta2[$i] = $resperrada2;
$arrayResposta3[$i] = $resperrada3;
$arrayResposta4[$i] = $resperrada4;
$arrayResposta5[$i] = $resperrada5; ?>
E no meu form estaria dessa maneira :
Ainda n esta bem do jeito que eu queria, porque a ideia era dinamiza a exibição das perguntas, caso o usuario acerte, iria ser feito uma nova consulta exibindo a pergunta 2 e assim por diante, atraves do "$arrayResposta4[1]"** por exemplo.
<form id="form_quiz" name= "form_quiz" method="post" action="" onsubmit="return RadioHab();">
<legend><h1>Responda as perguntas abaixo</h1></legend>
<fieldset id="pergunta1" style="display:block">
<label for="sexo" class="pergunta"><br /><?php echo"$arrayPergunta[0]"?><br> </label>
<input name="resposta" type="radio" value="1" />
<span class="textRadio" ><?php echo"$arrayResposta0[0]"?></span>
<br>
<input name="resposta" type="radio" value="0"/>
<span class="textRadio" ><?php echo"$arrayResposta1[0]"?></span>
<br>
<input name="resposta" type="radio" value="0"/>
<span class="textRadio" ><?php echo"$arrayResposta2[0]"?></span>
<br>
<input name="resposta" type="radio" value="0"/>
<span class="textRadio" ><?php echo"$arrayResposta3[0]"?></span>
<br>
<input name="resposta" type="radio" value="0"/>
<span class="textRadio" ><?php echo"$arrayResposta4[0]"?></span>
<br>
<input name="resposta" type="radio" value="0"/>
<span class="textRadio" ><?php echo"$arrayResposta5[0]"?></span>
<br/>
<input type="button" value="Inscrever" onclick="solucao();" />
</fieldset>
</form>
<?php
} }
?>
Também tem o codigo em javaScript, que utilizo para "validar" a resposta:
function solucao(){
var radio=null;
var radio = document.form_quiz.resposta;
for(var i=0;i < radio.length;i++){
if(radio[i].checked){
if(radio[i].value == 1){
alert("resposta_Correta");
}else{
alert("resposta_errada");
}
}
}
}
Bom, n sei o que estou fazendo de errado, porque mesmo eu inserindo os valores do banco em uma array:
<?php echo"$arrayPergunta[0]"?>
<?php echo"$arrayResposta0[0]"?>
<?php echo"$arrayResposta1[0]"?>
<?php echo"$arrayResposta2[0]"?>
<?php echo"$arrayResposta3[0]"?>
<?php echo"$arrayResposta4[0]"?>
<?php echo"$arrayResposta5[0]"?>
com a ideia de exibir 1 pergunta por vez, o danado ainda exibe as 5 perguntas ao mesmo tempo. T_T
Alguém pode me informar se estou fazendo alguma coisa de errado? Ou até sugerir uma solução melhor para o q quero fazer, para eu começar a meter a mão na massa?
Espero q eu tenha conseguido deixar claro... Agradecido desde já.. abraço
Carregando comentários...