::||Forum Evolution||::
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.


Sua Nova Evolução Pela Web!!!
 
InícioInício  PortalPortal  ProcurarProcurar  Últimas imagensÚltimas imagens  Registrar  EntrarEntrar  

 

 ▲▼Quiz em PHP + MySQL, Pegando registros randômicos ▲▼

Ir para baixo 
AutorMensagem
jukilo
Ranking
Ranking
jukilo


Mensagens : 624
Data de inscrição : 01/03/2008

▲▼Quiz em PHP + MySQL, Pegando registros randômicos ▲▼ Empty
MensagemAssunto: ▲▼Quiz em PHP + MySQL, Pegando registros randômicos ▲▼   ▲▼Quiz em PHP + MySQL, Pegando registros randômicos ▲▼ Icon_minitimeSáb Jul 05, 2008 11:50 am

Quiz em PHP + MySQL, Pegando registros randômicos

Tenho um código de uma página de quiz que funciona normalmente
puxando TODOS os registro de uma tabela. Porém, gostaria que essa mesma
página puxasse apenas uma parte dos registros (ex. de 100 registros
existentes na tabela, a página puxa 40).

Já utilizei ORDER by RAND() LIMIT 40, porém quando a página mostra as
respostas elas vêm embaralhadas (inclusive respostas de outras
perguntas existentes na tabela). Acho que é por causa do segundo query.

Alguém pode dar uma luz? Obrigado!

Segue estrutura da tabale e código da página:



Quote:


CREATE TABLE quiz (
id tinyint(4) NOT NULL auto_increment,
q text NOT NULL,
question text NOT NULL,
opt1 text NOT NULL,
opt2 text NOT NULL,
opt3 text NOT NULL,
answer text NOT NULL,
PRIMARY KEY (id)
) TYPE=MyISAM;



Quote:



include("contentdb.php");

$display = mysql_query("SELECT * FROM $table ORDER BY id",$db);

if (!$submit) {


echo "
";
echo "";

while ($row = mysql_fetch_array($display)) {

$id = $row["id"];
$question = $row["question"];
$opt1 = $row["opt1"];
$opt2 = $row["opt2"];
$opt3 = $row["opt3"];
$answer = $row["answer"];

echo "";
echo "";

}

echo "

$question
$opt1 value=\"$opt1\">$opt2 name=q$id value=\"$opt2\">$opt3 type=radio name=q$id value=\"$opt3\">
";
echo "";
echo "
";

}

elseif ($submit)

{

$score = 0;
$total = mysql_num_rows($display);
while ($result = mysql_fetch_array($display))


{

$answer = $result["answer"];
$q = $result["q"];

if ($$q == $answer)
{
$score++;
}

}

echo "

You scored $score out of $total

";
echo "

";

if ($score == $total) {
echo "Congratulations! You got every question right!";
}
elseif ($score/$total < 0.34) {
echo "Oh dear. Not the best score, but don't worry, it's only a quiz.";
}
elseif ($score/$total > 0.67) {
echo "Well done! You certainly know your stuff.";
}
else {
echo "Not bad - but there were a few that caught you out!";
}

echo "

";

echo "

Here are the answers:";

echo "

";
$display = mysql_query("SELECT * FROM $table ORDER BY id",$db);
while ($row = mysql_fetch_array($display)) {

$question = $row["question"];
$answer = $row["answer"];
$q = $row["q"];

echo "";

if ($$q == $answer)
{
echo "";
}
elseif ($$q == "") {
echo "";
}
else {
echo "";
}

}
echo "

$question
»you answered ${$q}, which is correct
»you didn't select an answer. The answer is $answer
»you answered ${$q}. The answer is $answer

";



}

?>


=D
Ir para o topo Ir para baixo
https://forumevolution.forumeiro.com
 
&#9650;&#9660;Quiz em PHP + MySQL, Pegando registros randômicos &#9650;&#9660;
Ir para o topo 
Página 1 de 1
 Tópicos semelhantes
-
» MySQL-Basico
» Loja virtual completa em PHP + MySQL

Permissões neste sub-fórumNão podes responder a tópicos
::||Forum Evolution||:: :: Programação :: HTML/PHP/ASP-
Ir para: