Napisałem skrypt który ładnie wyświetla mi pytania i daje możliwość wyboru odpowiedzi A, B, C, D.
<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\"> <html> <head> <meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-2\"> <link rel=\"shortcut icon\" href=\"rec.png\" type=\"image/x-icon\"> <link href=\"css.css\" rel=\"stylesheet\" type=\"text/css\" /> <title>egzamin zawodowy <? $rocznik = $_POST[\'rok\']; echo $rocznik; ?></title> </head> <?php $username = \'root\'; $password = \'krasnal\'; $database = \'testy\'; $link = mysql_connect(\'localhost\', $username, $password); if (!$link) { die(\'Could not connect: \' . mysql_error()); } if (!mysql_select_db($database)) { die(\'Could not select database: \' . mysql_error()); } ?> <body> <form action=\"test2.php\" method=\"post\"> <br><br> <? $_SESSION[\'rok\'] = $rocznik; if(!empty($_POST)) {$brak = \"<span class=\\\"b\\\"> Nie wskazano żadnej odpowiedzi. </span>\";} $l=-1; $q1 = @mysql_query(\"SELECT k FROM `$rocznik`\"); while($wh=mysql_fetch_row($q1)){ $l++; }; $q2 = mysql_query(\"SELECT tytul FROM `$rocznik`;\"); $qa1 = mysql_query(\"SELECT A1 FROM `$rocznik`;\"); $qa2 = mysql_query(\"SELECT A2 FROM `$rocznik`;\"); $qa3 = mysql_query(\"SELECT A3 FROM `$rocznik`;\"); $qa4 = mysql_query(\"SELECT A4 FROM `$rocznik`;\"); $qodp = mysql_query(\"SELECT odp FROM `$rocznik`;\"); ?> <? $x=0; while($x <= $l){ echo \'<table width=\"80%\" style=\"\" cellpadding=\"0\" cellspacing=\"0\" >\'; echo \'<tr>\'; echo \'<td colspan=\"4\" class=\"n\" ><p class=\"p\">\'; echo $x+1; echo \'. \'; print_r(mysql_result($q2, $x, 0)); echo \'. \'; echo \'</p><br>\'; $prodp = (mysql_result($qodp, $x, 0)); echo $ifka; echo \'</td></tr><tr>\'; echo \'<td class=\"o\" width=\"25%\"><span class=\"o\">\'; print_r(mysql_result($qa1, $x, 0)); echo \'.</span></td>\'; echo \'<td class=\"o\" width=\"25%\"><span class=\"o\">\'; print_r(mysql_result($qa2, $x, 0)); echo \'.</span></td>\'; echo \'<td class=\"o\" width=\"25%\"><span class=\"o\">\'; print_r(mysql_result($qa3, $x, 0)); echo \'.</span></td>\'; echo \'<td class=\"o\" width=\"25%\"><span class=\"o\">\'; print_r(mysql_result($qa4, $x, 0)); echo \'.</span></td>\'; echo \'</tr><tr>\'; echo \'<td class=\"m\" width=\"25%\"><input type=\"radio\" name=\"\'; $odpx = \"odp$x\"; echo $odpx; echo \'\" value=\"A\" /><span class=\"m\">A</span></td> <td class=\"m\" width=\"25%\"><input type=\"radio\" name=\"\'; echo $odpx; echo \'\" value=\"B\" /><span class=\"m\">B</span></td> <td class=\"m\" width=\"25%\"><input type=\"radio\" name=\"\'; echo $odpx; echo \'\" value=\"C\" /><span class=\"m\">C</span></td> <td class=\"m\" width=\"25%\"><input type=\"radio\" name=\"\'; echo $odpx; echo \'\" value=\"D\" /><span class=\"m\">D</span></td>\'; echo \'</tr>\'; echo \'</table>\'; $x++; }; ?> <br><br> <div class=\"srodek\"> <h1 style=\"text-align: center;\"> <span style=\"color: red;\">Sprawdź</span> wynik!</h1> <br> <span style=\"font-family: arial; font-weight: bold; font-size: 14px;\">Nazywam się: </span> <input style=\"padding: 2px;\" type=\"text\" maxlength=\"25\" name=\"Nazwa ucznia\" value=\"wpisz...\" /> <br><br> <input class=\"ok srodek\" type=\"submit\" name=\"Potwierdzenie\" value=\"W Y N I K\"><br> </form></div> </body> </html>
</span>
[/php]
Z tego użyteczna będzie tylko odpowiedź na dane pytanie. Próbuję napisać właśnie skrypt który odbierze prawidłowo wybrane odpowiedzi (to się udało), i zrobi coś w stylu:
- jesli odpowiedź która wybrał użytkownik będzie zgodna z odpowiedzią zapisaną w kolumnie \"odp\" to dodaje wartość do zmiennej $d,
- jeśli odpowiedź będzie błędna to dodaje wartość do zmiennej $z, nie dodając wartości do zmiennej $d i $b,
- jeśli będzie brak jakiejkolwiek odpowiedzi dodaj wartość do zmiennej $b,
Próbowałem pisać coś takiego:
W różnych wersjach żadna nie działa zbyt dobrze..
<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\"> <html> <head> <meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-2\"> <link rel=\"shortcut icon\" href=\"rec.png\" type=\"image/x-icon\"> <link href=\"css.css\" rel=\"stylesheet\" type=\"text/css\" /> <title>egzamin zawodowy <? $rocznik = $_POST[\'rok\']; echo $rocznik; ?></title> </head> <?php $username = \'root\'; $password = \'krasnal\'; $database = \'testy\'; $link = mysql_connect(\'localhost\', $username, $password); if (!$link) { die(\'Could not connect: \' . mysql_error()); } if (!mysql_select_db($database)) { die(\'Could not select database: \' . mysql_error()); } ?> <body> <? $rocznik = $_SESSION[\'rok\']; $x = 0; $xz = 1; while($x <= 39){ // odbieramy dane z formularza $odp->$x = $_POST[\"odp$x\"]; echo $odp->$x; echo \'<br>\'; $sql->$x = (\"SELECT odp FROM `$rocznik` WHERE k=$xz;\"); $zap->$x = @mysql_query( $sql->$x, $link); $rezult->$x = mysql_result($zap->$x, 1); if($odp->$x == $rezult->$x) { ++$d; } else if(isset($odp->$x)) { ++$z; } else if(empty($odp->$x)) { ++$b; } ++$x; ++$xz; }; echo $d; echo \'<br>\'; echo $z; echo \'<br>\'; echo $b; if(! $zap ) { die(\'Nie można znaleść zapytania: \' . mysql_error()); } ?> </body> </html>
póki co potrzebuję pomocy z tą częścią tego kodu.. mozliwe że dalej poradze już sobie sam, bo próbuje juz z 4 dni i stoję w miejscu i brak mi już pomysłow jak to rozwiązać.
Tak wygląda tabela: http://imgur.com/iJzVL22
wrzucam też przykład jak wyglądał stary sposób (który modyfikuje w celu, żeby dane pytań nie były zapisane w plikach php bo co rok edycja jest mozolna, tylko w oparciu o baze danych. ) http://pastebin.com/tJhRgw8i
Z góry dziękuje za pomoc.