Witam.
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\">
<h1 class=\"srodek\">egzamin zawodowy z
<? echo $rocznik; ?> roku.</h1>
<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:
<!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>
W różnych wersjach żadna nie działa zbyt dobrze..
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/iJzVL22wrzucam 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/tJhRgw8iZ góry dziękuje za pomoc.
Ten post edytował djsamiryi 21.11.2014, 00:57:19