jukilo Ranking
Mensagens : 624 Data de inscrição : 01/03/2008
| Assunto: ▲▼Quiz em PHP + MySQL, Pegando registros randômicos ▲▼ Sáb Jul 05, 2008 11:50 am | |
| Quiz em PHP + MySQL, Pegando registros randômicosTenho 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 "";
}
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 " $question | ";
if ($$q == $answer) { echo "»you answered ${$q}, which is correct | "; } elseif ($$q == "") { echo "»you didn't select an answer. The answer is $answer | "; } else { echo "»you answered ${$q}. The answer is $answer | "; }
} echo " ";
}
?> | =D | |
|