Czesc mam problem!!!!
Napisalem skrypcik testu wielokrotnego wyboru no i jest z nim maly problem jak wybierasz odpowiedz to nie jest ona zapisywana w tablicy.Zostaje zapisana tylko odp. ostatnia.PS jest to test wielokrotnego wyboru a wiec uzytkownik moze wybrac kilka odp. no i z tym mam tez problem bardzo prosze o pomoc wysalam wraz z listem ten skrypcik
Za pomoc z góry dziekuje!!!
//ta zmienna jest inicjowana gdy odpowiadamy na ostatnie pytanie
<?php
if(!isset($koniec)&&($koniec!='koniec')) {
if(!lacz_bd
()) echo \"Nie mozna polaczyc sie z baza danych MySQL:\".mysql_error; $pytania=wynik_bd_do_tablicy($wynik);
$liczba_wyswietlanych_pytan=1;
$liczba_pytan=count($pytania); if(!$biezace_pytanie)$biezace_pytanie=1;
if(!$liczba_pytan)$liczba_stron=1;
else $liczba_stron=ceil($liczba_pytan/$liczba_wyswietlanych_pytan); if($bierzace_pytanie>=$liczba_stron)$biezace_pytanie=$liczba_stron;
$numer_poczadkowy=($biezace_pytanie-1)*$liczba_wyswietlanych_pytan;
$numer_koncowy=$biezace_pytanie*$liczba_wyswietlanych_pytan;
if($numer_koncowy > $liczba_pytan)$numer_koncowy=$liczba_pytan;
echo \"<form method=\"post\" action=\"\".$_SERVER['PHP_SELF'].\"\">
\"; echo \"<table border=\"0\">
\"; $user_answer=$_SESSION['user_answer'];
for($i=$numer_poczadkowy;$i<$numer_koncowy;$i++)
{
<tr><td>Pytanie:$biezace_pytanie/$liczba_pytan</td></tr>
<tr><td colspan=\"3\"><br><b>$pytania[$i][question]</b></td></tr>
<tr>
//tutaj wyswietlamy mozliwe odpowiedzi na pytanie opt-sa to odpowiedzi w bazie danych
<td>$pytania[$i][opt1]<input type=\"checkbox\" name=user_answer value=\"$pytania[$i][opt1]\"></td>
<td>$pytania[$i][opt2]<input type=\"checkbox\" name=user_answer value=\"$pytania[$i][opt2]\"></td>
<td>$pytania[$i][opt3]<input type=\"checkbox\" name=user_answer value=\"$pytania[$i][opt3]\"></td>
</tr>
</table>
[/HTML]
}
for($i=1;$i<=$liczba_stron;$i++)
{
if($biezace_pytanie==$liczba_stron)
{
echo \"<input type='hidden' name='koniec' value='koniec'>
\"; }
else
{
}
}
elseif(isset($koniec)&&($koniec=='koniec')) {
if(!lacz_bd
()) echo \"Nie mozna polaczyc sie z baza danych MySQL:\".mysql_error; $display = mysql_query(\"SELECT * FROM $pytania ORDER BY id\"); $score = 0;
$nr=0;
{
$answer = $result[\"answer\"];
$q = $result[\"q\"];
if ($user_answer == $answer)
{
$score++;
}
}
echo \"<p align=center><b>Oto twój wynik $score / $total
</b></p>
\"; if ($score == $total)
{
echo \"Moje gratulacje! Wszyzdkie odpowiedzi s± poprawne!\"; }
elseif ($score/$total < 0.34)
{
echo \"Niestety. Niejet to dobry wynik, ale nieprzejmuj sie możesz spróbować jeszc
z raz\";
}
elseif ($score/$total > 0.67)
{
echo \"Dobra robota! Całkiem nuiezły wynik.\";
}
else
{
echo \"Bardzo słabo - sprobuj jeszcze raz!\";
}
echo \"[HTML]</p>[/HTML]\";
echo \"[HTML]<p>Oto twoje odpowiedzi:\";
echo \"[HTML]<table border=1 class='tabela'>[/HTML]\";
echo\"[HTML]<tr><td><b >ID:</td><td>PYTANIE:</td><td>POPRAWNA ODPOWIEDZ:<b /></td><td>TWOJE ODPOWIEDZI:<b /></td><td><b />WYNIK:</td></tr>[/HTML]\";
$display =@mysql_query(\"SELECT * FROM $pytania ORDER BY id\");
while ($row = mysql_fetch_array($display))
{
$id=$row['id'];
$question = $row[\"question\"];
$answer = $row[\"answer\"];
$q = $row[\"q\"];
echo \"[HTML]<tr><td>$id<td><br>$question</td><td><font color='#4286f4'>$answer</font></td>[/HTML]\";
if ($user_answer == $answer)
{
echo \"[HTML]<td><font color='red'>{$user_answer}</font></td><td><font color='green'>POPRAWNE</font></td></tr>[/HTML]\";
}
elseif ($user_answer == \"\")
{
echo \"[HTML]<td><font color='red'>Nie wybrales zadnej odpowiedzi</font></td><td><font color='red'>NIEPOPRAWNE</font></td></tr>\"[/HTML];
}
else
{
echo \"[HTML]<td><font color='red'>{$user_answer}</font></td><td><font color='red'>NIEPOPRAWNE</font></td></tr>[/HTML]\";
}
}
echo \"[HTML]</table></p>[/HTML]\"
}
}
}
?>
Ten post edytował padalec 10.02.2005, 21:17:07