![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 14.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Mam do zrobienia projekt Sytestem tworzenia testów w PHP, nie wiem jak do tego podejść, może mi ktoś może podsunąć jakiś ciekawy pomysł? Planuje stworzyć baze danych z ok 50 różnymi zadaniami, odpowiedzi do nich A, B, C. Po wciśnięciu START wyświetlić 10 LOSOWYCH pytań z tych 50, zaznaczenie prawidłowej odpowiedzi a później po wciśnięciu KONIEC sprawdzanie tych odpowiedzi czy są poprawne, wyświetlanie statystyki, 51% oznacza zdanie, poniżej 50% powtórz test, dodatkową opcje - wyślij swój wynik na emaila. Jak będe miał taką podstawę to planuje dodać jeszcze jakieś ciekawe opcje itd. Proszę aby ktoś skierował mnie w dobrym kierunku...
Powód edycji: [erix] przeniosłem
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 634 Pomógł: 14 Dołączył: 27.05.2006 Skąd: Berlin Ostrzeżenie: (0%) ![]() ![]() |
Odrobię Ci pracę domową ;P
- Zrób sobie 3 tabele; jedną z pytaniami i jedną z odpowiedziami i jedną z rozwiazaniami tych pytan. - W tabeli z pytaniami zrób następujące pola: id pytania, tresc pytania. - w tabeli z odpowiedziami zrob takie pola: id odpowiedzi, id pytania, tresc odpowiedzi i czy jest poprawne. - W tabeli z rozwiazaniami zrob: id usera, id odpowiedzi i id pytania Jeżeli nie musisz zapamietywać na dłużej rozwiązań użytkowników to śmialo możesz zrezygnować z ostatniej tabeli i te wartości w sesji trzymać. to tyle jeżeli chodzi o bazę. W kodzie: - Na początku testu stwórz tablicę o rozmiarze 10 elementów, wygeneruj 10 unikatowych identyfikatorów z puli isteniejących identyfikatorów pytań i zapisz je w tej tablicy. - wyciągnij pytania razem z odpowiedziami z bazy danych których identyfikatory są w tej tablicy. - zapisz ten zestaw pytań + odpowiedzi w cache. - utwórz zmienna przekazującą numer aktualnie rozwiązywanego pytania i pokazuj to pytanie które jest pod tym numerem. - jak uzytkownik odpowie na pytanie to zapisz w sesji numer pytania i numer odpowiedzi (pamietaj, że dodajesz na koniec a nie nadpisujesz) - jak już numer pytania będzie się równał wielkości tablicy to znaczy, że dobiegł do końca, wtedy porównaj odpowiedzi które masz w sesji z tymi co masz zapisanymi w cache. - wylicz ilość poprawnych i podziel przez 10. - wyczyść cache - powiadom usera o wyniku. a teraz 50 ojro za konsultacje (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 10.10.2025 - 06:34 |