Čawte, tento môj problém riešim už asi 2 týždne a neviem si rady...
Generujem test pomocou databáze, kde načítavam Otázku, Možnosti a správnu odpoveď nezávisle od toho, koľko otázok + možností je tam uvedených v DB. Ak sú v DB 2 kompletné otázky + možnosti, to znamená, že vypíšem 2 komplet. ot. + možnosti.
Problém však nastáva pri vyhodnocovaní obsahu... Formulár prebehne a nastáva vyhodnotenie len "POSLEDNEJ" otázky...
Takto vyzerá zdroják:
Kód:
<?php
require "db.php";
$test=$_GET["test"];
echo "<div id='obsah_vlavo_text'>";
echo "<h1>SKÚS VYPLNIŤ TEST:</h1>";
echo "<form action='#' method='POST'>";
$POCET = 0;
$query = mysql_query("SELECT * FROM test_vypis WHERE `nazov_testu`='$test'");
while ($vypis = mysql_fetch_assoc($query)) {
$id = $vypis['id'];
$nazov_testu = $vypis['nazov_testu'];
$zadanie = $vypis['zadanie'];
$moznost_a = $vypis['moznost_a'];
$moznost_b = $vypis['moznost_b'];
$moznost_c = $vypis['moznost_c'];
$moznost_d = $vypis['moznost_d'];
$name = $vypis['name'];
$spravna_moznost = $vypis['spravna_moznost'];
$POCET++;
echo "<p><strong>".$POCET.") ".$vypis['zadanie']."</strong><br />";
echo "<input type='radio' name='".$id."' value='a'>a) ".$moznost_a."<br />";
echo "<input type='radio' name='".$id."' value='b'>b) ".$moznost_b."<br />";
echo "<input type='radio' name='".$id."' value='c'>c) ".$moznost_c."<br />";
echo "<input type='radio' name='".$id."' value='d'>d) ".$moznost_d."<br /></p>";
echo "<input type='hidden' name='form_id' value='".$id."'/>";
}
echo "<br />";
echo "<input type='submit' name='send' value='Vyhodnoť!' />";
echo "<input type='hidden' name='sent' value=''/>";
echo "</form><br />";
// ODOSLANIE FORMULARA
if(isset($_POST['sent'])){
$form_id=$_POST['form_id'];
$query = mysql_query("SELECT * FROM test_vypis WHERE `id`='$form_id'");
while ($vypis = mysql_fetch_array($query)) {
$spravna_moznost=$vypis['spravna_moznost'];
$poradie++;
if($_POST[$vypis['id']]==$spravna_moznost){
echo "<span id='ok'>".$poradie.") Dobre: ".$spravna_moznost."</span><br />";
}else{
echo "<span id='red'>".$poradie.") Zle, správne bolo: ".$spravna_moznost."</span><br />";
}
}
}
?>