• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Jakim sposobem napisać skrypt testu online w PHP i MySQL?

Object Storage Arubacloud
0 głosów
1,264 wizyt
pytanie zadane 1 grudnia 2017 w PHP przez Michał Samolewski Bywalec (2,240 p.)
Witam,

nie szukam gotowego skryptu, bo chcę się czegoś nauczyć i spróbować napisać to sam. Jednak potrzebuję jakiegoś nakierowania jakie rozwiązanie zastosować.

Chcę napisać skrypt losujący pytania z bazy bez powtórzeń, a na końcu (po przekierowaniu na stronę podsumowującą) wyświetlający wynik poprawnych odpowiedzi. W zasadzie chodzi o coś takiego samego jak na stronie p. Zelenta egzamin-informatyk.

Potrzebuję kogoś, kto nakieruje mnie jakim sposobem to zrobić; jak zaprojektować bazę danych - czy tylko jedna tablica ze wszystkim, czy może jedna tablica na pytania i możliwe odpowiedzi, a druga z informacją, która odpowiedź jest poprawna do danego pytania. Jak to wszystko wylosować i najtrudniejsze dla mnie - jak powrzucać to do danych inputów 'radio' i porównać to potem do poprawnych odpowiedzi...

Pomożecie? :)

3 odpowiedzi

+2 głosów
odpowiedź 1 grudnia 2017 przez Bosswell Nałogowiec (36,470 p.)
wybrane 1 grudnia 2017 przez Michał Samolewski
 
Najlepsza
Zacznij od stworzenia odpowiedniej bazy danych. Na pewno będziesz potrzebował tabeli z pytaniami a w niej (Pytanie, odpA, odpB, odpC, odpD, poprawna, sciażka do zdjecia, data utworzenia). W kolumnie poprawna przechowuj wartości np od 1-4 lub od A-D.

W zależności od tego jak bardzo to ma być zaawansowanie, to możesz dołożyć kolumnę kwalifikacja_id i utworzyć tabele z kwalifikacjami np E.12, E.13 lub z innych zawodów z ich opisem.

Teraz wyjmujesz z bazy określoną liczbę losowych pytań. Używając w zapytaniu SQL słowa kluczowego LIMIT a do wybrania losowych rekordów klauzule ORDER BY RAND() (Tak, jest dużo spekulacji co do jej wydajności, ale przy małej bazie nie powinno działać wolno). Pobrane dane zapisz do tablicy sesyjnej.

Pytania musisz wypisać w formularzu w pętli zależnie od ilości wyciągniętych pytań. W wartości pól typu radio musisz dać takie dane, aby później można je było porównać z tym co masz w bazie danych.

Po kliknięciu w "zakończ test" przenosisz się do pliku, który będzie sprawdzał test. Tu zaczyna się zabawa. Przy porównywaniu pytań używaj danych zapisanych wcześniej do tablicy sesyjnej i tych co podesłał Ci użytkownik w formularzu. Dużo w tym miejscu się nauczysz ;)

Samo porównanie i wypisanie wyniku nie jest skomplikowane, ale jeżeli chcesz wypisać pytania i w zależności od podanej odpowiedzi podświetlić, czy jest ona dobra, a może zła i zaznaczyć ją na czerwono + wypisać poprawną na zieloną oraz trzeci przypadek, kiedy nie została zaznaczona w ogóle.
komentarz 1 grudnia 2017 przez Michał Samolewski Bywalec (2,240 p.)
Idealna odpowiedź, takiej właśnie oczekiwałem. Jestem mega wdzięczny. Biorę się do pracy! :)
+1 głos
odpowiedź 1 grudnia 2017 przez Igor Gawrys Stary wyjadacz (12,460 p.)
Chcesz pisać w freaworku czy w czystym php
komentarz 1 grudnia 2017 przez Michał Samolewski Bywalec (2,240 p.)
Czysty PHP. Rozpoczynam naukę tego języka. Znam podstawy, ale z frameworkami nie miałem jeszcze do czynienia. Chyba, że łatwo to załapać to jak najbardziej.
+1 głos
odpowiedź 1 grudnia 2017 przez PaulGilbert Gaduła (3,280 p.)
Ja zacząłem od przygotowania sobie interface-u do dodawania pytań do bazy i stworzenia bazy danych. Dzięki takiemu interface-owi będzie się łatwiej tworzyło bazę, układało pytania.

Podobne pytania

+1 głos
3 odpowiedzi 1,756 wizyt
0 głosów
2 odpowiedzi 472 wizyt
0 głosów
2 odpowiedzi 648 wizyt

92,619 zapytań

141,468 odpowiedzi

319,786 komentarzy

62,001 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...