Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: sprawdzanie testu
Forum PHP.pl > Forum > Gotowe rozwiązania
tom23
Problem polega ze dany skrypt sprawdza jak danu uczen zadl test.

Ale dodatkowo boss wymyslił ze trzeba zrobic zeby dany uczen mial mozliwosc zobaczenia ktore odpowiedzi byly poprawnie w trescie a ktore nie nie tylko ilosc poprawnych odpowiedzi.
tom23
[php:1:c2ae35a493]<?php
$lancuchtmp = strrev ($odtheg294290);
$pozycja = StrPos ($lancuchtmp,"|");
if ($pozycja != 0) {
$ParametrLogin = SubStr ($lancuchtmp, 0, $pozycja);
$ParametrNazwa = SubStr ($lancuchtmp, $pozycja + 1, StrLen ($lancuchtmp) - $pozycja-1);
}
else {
$ParametrLogin = $lancuchtmp;
$ParametrNazwa = $lancuchtmp;
}
$ParametrHaslo = strrev ($opwiop45312r);
if ($lokalny == 'true')
$polaczenie = mysql_connect ($HTTP_HOST, $ParametrLogin, $ParametrHaslo);
else
$polaczenie = mysql_connect ('127.0.0.1:3306', $ParametrLogin, $ParametrHaslo);


$wyborbazy = mysql_select_db ("Akademia");

$polecenie = "select date_format(current_date,'%Y-%m-%d')";
if ($pokazpolecenia != '') echo $polecenie."<br>";
$dzien = mysql_fetch_row (mysql_query ($polecenie));
$dzis = $dzien[0];

$polecenie = "select date_format(current_date,'%Y-%m-%d')";
if ($pokazpolecenia != '') echo $polecenie."<br>";
$dzien = mysql_fetch_row (mysql_query ($polecenie));
$dataDzis = $dzien[0];

$polecenie = "select current_time";
if ($pokazpolecenia != '') echo $polecenie."<br>";
$dzien = mysql_fetch_row (mysql_query ($polecenie));
$teraz = $dzien[0];

// odebranie danych
$ilepytan = $qc;
$idTestu = $tid;
//echo $tid;
$resultInsert = mysql_query("SELECT statusZakonczenia FROM testyUcznia2 WHERE
idTestu = $idTestu");
if ($resultInsert) {
$resultInsertFetch = mysql_fetch_row($resultInsert);
if ($resultInsertFetch[0] == 2) {
echo "<script language="JavaScript">
document.location.href="https://www.adres.pl/Akademia.php"</script>";
exit();
}
}
// echo $idTestu."<br>";

$resultUpdate = mysql_query("UPDATE testyucznia2 SET statusZakonczenia = 2,
czasZakonczenia = current_timestamp WHERE idTestu = $idTestu");
if (!$resultUpdate) {
print("Blad zapisywania konca testu >>>>> "."UPDATE testyucznia2 SET
statusZakonczenia = 2, czasZakonczenia = current_timestamp WHERE idTestu =
$idTestu");
exit();
}
$resultStart = mysql_query("SELECT czasRozpoczecia, czasZakonczenia FROM
testyucznia2 WHERE idTestu = $idTestu");

if (!$resultStart) {
print("Blad okreslania poczatku testu >>>> "."SELECT czasRozpoczecia FROM
testyucznia2 WHERE idTestu = $idTestu");
exit();
}
// dlugoscTestu 0 koniecTestu 2003-07-03 16:25:17, poczatekTestu 2003-07-03
16:22:52koniec 66 poczatek 10866 czas 360
$resultStartTab = mysql_fetch_row($resultStart);
$poczatekTestu = $resultStartTab[0];
$koniecTestu = $resultStartTab[1];

$poczatek = (substr($poczatekTestu, 11, 2) * 3600 + substr($poczatekTestu, 14, 2) *
60 + substr($poczatekTestu, 17, 2));
$koniec = (substr($koniecTestu, 11, 2) * 3600 + substr($koniecTestu, 14, 2) *
60 + substr($koniecTestu, 17, 2));


$czas = $ilepytan * 36;

$koniec = $koniec - $poczatek;



if ($wyborbazy != "") {
$polecenie = "SELECT u.idUcznia,
u.nazwisko,
u.imie,
p.nazwaPoziomu,
u.iloscGodzin,
p.idPoziomu,
p.modulowosc,
u.czyElastyczny,
u.idKonwersacji,
u.czyTest,
u.dataZakonczeniaKursu,
p.czestoscTestow
FROM Akademia.uczniowie u, poziomy p
WHERE p.idPoziomu = u.idPoziomu and u.login = '".$ParametrNazwa."'
and u.czyAktywny = 1";
if ($pokazpolecenia != '') echo $polecenie."<br>";
$tab = mysql_fetch_row (mysql_query ($polecenie));
$idUcznia = $tab[0];
$nazwiskoUcznia = $tab[1];
$imieUcznia = $tab[2];
$nazwaPoziomu = $tab[3];
$iloscGodzin = $tab[4];
$idPoziomu = $tab[5];
$modulowosc = $tab[6];
$czestosc = $tab[11];
}

$dobrych = 0;
$ileodpowiedzi;

// mysql_close ($polaczenie);
?>
<html>
<head>
<title>Akademia v1.0</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
<link rel="stylesheet" href="./Akademia.css" type="text/css">
</head>

<body class=tlo>
<br><br>
<p align=center><font size=4>
<?//------------

if ($koniec > $czas) {
echo "<br><br>Niestety<br>";
echo "nie zmiesciłe&para; sie w czasie przeznaczonym na rozwiazanie tego
testu<br>";
echo "<b>Jutro spróbuj ponownie!</b><br>";
$wynik=0;
}
else {
// zmiescil sie w czasie
if ($pytanie1 > 0) {
mysql_query("UPDATE odpowiedziucznia2 SET odpowiedzUcznia =
".$pytanie1." where idTestu = $idTestu and lp = 1");
}
if ($pytanie2 > 0) {
mysql_query("UPDATE odpowiedziucznia2 SET odpowiedzUcznia =
".$pytanie2." where idTestu = $idTestu and lp = 2");
}
if ($pytanie3 > 0) {
mysql_query("UPDATE odpowiedziucznia2 SET odpowiedzUcznia =
".$pytanie3." where idTestu = $idTestu and lp = 3");
}
if ($pytanie4 > 0) {
mysql_query("UPDATE odpowiedziucznia2 SET odpowiedzUcznia =
".$pytanie4." where idTestu = $idTestu and lp = 4");
}
if ($pytanie5 > 0) {
mysql_query("UPDATE odpowiedziucznia2 SET odpowiedzUcznia =
".$pytanie5." where idTestu = $idTestu and lp = 5");
}
if ($pytanie6 > 0) {
mysql_query("UPDATE odpowiedziucznia2 SET odpowiedzUcznia =
".$pytanie6." where idTestu = $idTestu and lp = 6");
}
if ($pytanie7 > 0) {
mysql_query("UPDATE odpowiedziucznia2 SET odpowiedzUcznia =
".$pytanie7." where idTestu = $idTestu and lp = 7");
}
if ($pytanie8 > 0) {
mysql_query("UPDATE odpowiedziucznia2 SET odpowiedzUcznia =
".$pytanie8." where idTestu = $idTestu and lp = 8");
}
if ($pytanie9 > 0) {
mysql_query("UPDATE odpowiedziucznia2 SET odpowiedzUcznia =
".$pytanie9." where idTestu = $idTestu and lp = 9");
}
if ($pytanie10 > 0) {
mysql_query("UPDATE odpowiedziucznia2 SET odpowiedzUcznia =
".$pytanie10." where idTestu = $idTestu and lp = 10");
}
// sprawdzenie poprawnosci testu
$finalResult = mysql_query("select o.odpowiedzUcznia, e.odpPrawidlowa
FROM odpowiedziucznia2 o, testyucznia2 t, testy e where ".
"t.idTestu = o.idTestu and t.idTestu =
$idTestu and t.idPoziomu = e.idPoziomu and
e.nrLekcji = o.nrLekcji and ".
" o.nrPytania = e.nrPytania");
if (!$finalResult) {
echo "select o.odpowiedzUcznia, e.odpPrawidlowa FROM
odpowiedziucznia2 o, testyucznia2 t, testy e where ".
"t.idTestu = o.idTestu and t.idTestu =
$idTestu and t.idPoziomu = e.idPoziomu and
e.nrLekcji = o.nrLekcji and ".
" o.nrPytania = e.nrPytania";
exit();
};
while ($finalResultTab = mysql_fetch_row($finalResult)) {
if ($finalResultTab[0] == $finalResultTab[1])
$dobrych++;
}

$ilepytan = $ilepytan;
$wynik = ($dobrych / $ilepytan);
if ($dobrych > 0) {
echo "Poprawnie odpowiedziałe&para; na: $dobrych";
if ($dobrych == 1)
echo " pytanie";
if ($dobrych > 1 && $dobrych < 5)
echo " pytania";
if ($dobrych > 4)
echo " pytan";
}
else {
echo "Nie udalo Ci sie odpowiedzieć poprawnie na żadne pytanie<br>";
}

echo "<br>";
echo "Na możliwych: ";
echo "<b>$ilepytan</b> <br><br>";
echo "<Font size=+2 color=#EE1313><b><br>";

if ($wynik < 0.6) {
echo "You have to write it again. Sorry.";
}
else if ($wynik < 0.7) { //0.69
echo "Almost satisfactory, but you have to write it again.";
}
else if ($wynik < 0.8) { //0,79
echo "Passed, but are your satisfied with your score?";
}
else if ($wynik < 0.9) { //0,89
echo "OK.";
}
else if ($wynik <0.99) {
echo "Well done!";
}
else {
echo "Excellent! Congratulations!";
}
echo "</b></font>";
}

$wynik = $wynik*100;
$polecenie = "UPDATE testyucznia2 SET wynikTestu = $wynik WHERE idTestu =
$idTestu";
if ($pokazpolecenia != '') echo $polecenie."<br>";
$rezultat = mysql_query($polecenie);
//--------------
echo "</font><br><br><br><br><font size=+1>Nie zdałe&para; jeszcze TESTóW z
lekcji:";
$i=1;
$luk = 0;
echo "<ul><br>";
$polecenie = "SELECT g.nrLekcji, g.dataZajec FROM godziny g,
uczniowienalekcji u WHERE g.dataZajec = u.dataZajec AND g.idSali = u.idSali
AND g.nrGodziny = u.nrGodziny AND u.idUcznia = ".$idUcznia." AND g.idPoziomu
= ".$idPoziomu." order by dataZajec";
if ($pokazpolecenia != "") echo $polecenie."<BR>";
$rezultat = mysql_query($polecenie);
while ($tab = mysql_fetch_array ($rezultat)) {
$nrLekcji = $tab[0];
$dataZajec = $tab[1];
$liczba = $nrlekcji / 2;
$liczba = intVal($liczba);
$liczba = $nrLekcji - ($liczba * 2);
$stop = $modulowosc * $czestosc;
$i++;
$polecenie2 = "SELECT l.tematWyswietlany FROM lekcje l WHERE l.nrLekcji =
".$nrLekcji." AND l.idPoziomu = ".$idPoziomu."";
if ($pokazpolecenia != "") echo $polecenie2."<BR>";
$tab2 = mysql_fetch_array (mysql_query ($polecenie2));
$temat = $tab2[0];

/* $polecenie3 = "SELECT * FROM testyucznia WHERE idPoziomu = ".$idPoziomu.'
AND idUcznia = ".$idUcznia." AND odLekcji = ".OdLekcji." AND doLekcji =
".doLekcji."";
if ($pokazpolecenia != "") echo $polecenie3."<BR>";
if ($tab3 = mysql_fetch_array (mysql_query ($polecenie3))) {
echo "";
} else {
*/ if ($i==1)
$odLekcji=$nrLekcji;
if ($i==2 && $odLekcji=='')
$odLekcji=$nrLekcji;
if ($i==10) { // powinno byc -> $stop) {
// sprawdzenie, czy wyswietlac
$resultTestowy = mysql_query("SELECT 1 FROM testyucznia2 WHERE
idUcznia = $idUcznia AND idPoziomu = $idPoziomu AND odLekcji =
$odLekcji and wynikTestu > 69");
//print("<br>SELECT 1 FROM testyucznia2 WHERE idUcznia = $idUcznia AND
idPoziomu = $idPoziomu AND odLekcji = $odLekcji and wynikTestu >
69");
if (!$resultTestowy) {
print("SELECT 1 FROM testyucznia2 WHERE idUcznia = $idUcznia AND
idPoziomu = $idPoziomu AND $odLekcji = $odLekcji and wynikTestu >
69");
exit();
};
$resultTestowyTab = mysql_fetch_row($resultTestowy);
$doLekcji=($nrLekcji+1);
if ($resultTestowyTab[0] != 1) {
//$doLekcji=($nrLekcji+1);
echo "<li><a
href='Testy.php?data=".$dataZajec."&odLekcji=".$odLekcji."&doLe
kcji=".$doLekcji."'> Zdaj test </a><br>";
echo $temp.$dataZajec." ".$temat."<br>"; // <<<==
}
//--- tutaj bylo wyrzucenie na ekran daty i tematu lekcji ==||
};
if ($temat=='') echo "";
else {
$temp = $temp.$dataZajec." ".$temat."<br>";
if ($i==$stop || $i==($stop - 1)) {
// bylo wczesniej if ($i==10 || $i==9) {
echo "<br><br>";
$i=0;
$temp ="";
};
};
};
// };
echo "</ul>";

?>
</p>
</body>
</html>
?>[/php:1:c2ae35a493]
tom23
w tabeli odpowiedziucznia2 sa podane z jakiej lekcji mial pytanie i jakie to bylo pytanie. oraz oczywiscie jakiej odpowiedzi udzielil

wiec za pomoca statementu: SELECT pytanie, odp1, odp2, odp3, odp4 FROM testy WHERE idPoziomu = $idPoziomuUcznia and nrLekcji = $lekcjaZTabelkiOdpowiedziUcznia2 and nrPytania = $nrPytaniaZTabelkiOdpowiedziUcznia2 wyswietlasz tresc, na ktora uczen odpowiadal

z mojego rozumowania porzez porownanie pola odpowiedzucznia z tabelki odpowiedziucznia2 z polem odpPrawidlowa z tabelki testy okreslasz, czy bylo ok

Pomocy !!!!!!!

Jak rozwiazac ten problem
e-Gandalf
Aleosochosi?

To znaczy... znacznie latwiej byloby odpowiadac gdybys zadal pytanie. (no tak juz niestety jest...)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.