Patrzysz na to zbyt szczegółowo, tak naprawdę masz 2 tematy do rozwiązania:
Trzymanie konfiguracji ankiet i zbieranie odpowiedzi na pytania ankiety.
Konfiguracje trzymałbym tak:
Tabele:
Ankieta (id, nazwa)
AnkietaPytania(id, idAnkieta,idPytania)
Pytania (id, Nazwa, PytanieNazwa)
Odpowiedzi (id,idPytanie, prawidlowa, nazwapytanie)
Popatrz teraz jak system będzie chciał się rozrastać i jakie opcje konfiguracyjner mogą dojść, pierwsze z brzegu:
- Czas trwania nakiety (wystarczy dodać pole datado do tabeli ankiety)
- Pozwolenie na wybór wielokrotny (wystarczy dodać pole multiselect w tabeli pytanie)
- Dodanie ujemnych punktów za złą odpowiedź (wystarczy dodać pole pkt w tabeli odpowiedzi)
itd.
Teraz jak trzymać odpowiedzi, dla mnie jedna odpowiedź to 1 rekord, nie bawiłbym się w zapis w jednym wierszu bo to się nie sprawdzi.
I jak masz dobrą strukturę to wszystko wyciągniesz prostym SQL-em, jak "ułatwisz" sobie zapis to będziesz rzeźbił w g...
Przeczytaj tu masz potencjalne problemy jakie możesz spotkać: [mysql] Zliczanie odpowiedzi - warunki
Możesz podpatrzeć jak robią to inni: https://github.com/tecnickcom/tcexam/blob/develop/install/mysql_db_structure.sql