Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Sytestem tworzenia testów
pk7
post 20.07.2009, 20:56:06
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
Go to the top of the page
+Quote Post
pyro
post 20.07.2009, 21:01:17
Post #2





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

Ostrzeżenie: (0%)
-----


Jakiego typu wskazówek do tego chcesz tongue.gif?

Ten post edytował pyro 20.07.2009, 21:02:05


--------------------
ET LINGUA EIUS LOQUETUR IUDICIUM
Go to the top of the page
+Quote Post
erix
post 20.07.2009, 22:01:55
Post #3





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




  1. popraw tytuł wątku, bo o niczym nie mówi
  2. co to ma wspólnego z programowaniem obiektowym?


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
Moli
post 21.07.2009, 09:59:37
Post #4





Grupa: Zarejestrowani
Postów: 662
Pomógł: 45
Dołączył: 26.03.2007
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Zobacz sobie skrypt Limesurvey.
Go to the top of the page
+Quote Post
pk7
post 21.07.2009, 21:54:00
Post #5





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 14.07.2009

Ostrzeżenie: (0%)
-----


Zacząłem od stworzenia bazy danych i stworzenia tabeli ""baza_zadan" i utworzenia 6 kolumn: id_zadanie, zadanie, zad_A, zad_B, zad_C, prawidlowa, wyświetlam wszystko oprócz ostatniej kolumny prawidlowa na stronie, a teraz planuje stworzyć formułke sprawdzającą zaznaczoną odpowiedź z kolumną id_zadanie i kolumną prawidlowa. NIe wiem jak wykorzystać SELECT questionmark.gif? FROM baza_zadan aby wyświetlało losowe zadania na stronie...
Go to the top of the page
+Quote Post
erix
post 21.07.2009, 21:59:17
Post #6





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Najlepiej, to wygenerować po stronie PHP numerki (najwydajniejsze), na łatwiznę - order by rand().


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
nasty
post 21.07.2009, 22:11:59
Post #7





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 tongue.gif
Go to the top of the page
+Quote Post
pk7
post 21.07.2009, 22:39:36
Post #8





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 14.07.2009

Ostrzeżenie: (0%)
-----


Dzięki Erix i Nasty cool.gif To teraz popisze trochę ale to już jutro...
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 16.07.2025 - 01:16