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.