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

Jak zrobić system pytań i odpowiedzi (quiz)?

Konkurs Mistrz Programowania
+3 głosów
2,890 wizyt
pytanie zadane 31 grudnia 2015 w JavaScript przez Nolandosky Bywalec (2,110 p.)
Potrzebuję rady, o wykonanie quizu. Ma to wyglądać następująco:

Osoba wybiera kategorię i na tej podstawie wybiera mu pytanie z bazy danych (losowe 1 pytanie), wyświetla mu je daje 4 odpowiedzi (1 poprawna), po czym użytkownik wybiera odpowiedź i system sprawdza poprawność. Jeśli jest dobrze dodaje mu 1 pkt, jeśli nie no to nic. Tylko teraz zastanawiam się jak to wykonać. Chodzi o to żeby pytanie było losowe, a korzystanie z MySQL RAND() podobno nie jest zalecane, bo może obciążać serwer. Nie mogę wziąć losowego ID bo trzeba wziąć jeszcze pod uwagę kategorię.

Drugi problem to jak zrobić, żeby po minięciu np. 20 sekund, pytanie automatycznie się zmieniało. Tak by użytkownik miał ograniczony czas.

W kwestii JS jestem początkujący, może nawet raczkujący. Nie chcę gotowca, szukam jedynie rady jak to wykonać i czego użyć.
komentarz 29 listopada 2017 przez TapQu Użytkownik (540 p.)
Nie jesteś początkującym.

Ja robie w pythonie kalkulatory np gęstości na fizykę xD albo jakieś 'troll' wiadomości typu:

title = 'Virus'

    message = 'Your Samsung Galaxy J3 have virus'
    droid.dialogCreateAlert(title, message)
    droid.dialogSetPositiveButtonText('Delete system')
    droid.dialogSetNegativeButtonText('Delete android')
    droid.dialogShow()
    import sys
    sys.exit(1)

1 odpowiedź

+1 głos
odpowiedź 3 stycznia 2016 przez Magicone Nałogowiec (45,100 p.)
wybrane 3 stycznia 2016 przez Nolandosky
 
Najlepsza

 PK -> primary key, FK -> foreign key

  • Tabele w bazie danych: kategorie <- pytania <- odpowiedzi (strzałki = relacje)
  • W tabeli kategorie, oprócz PK tworzysz kolumnę z nazwą kategorii
  • W tabeli pytania, oprócz PK i FK do tabeli kategorie, tworzysz kolumnę zawierającą treść pytania
  • W tabeli odpowiedzi, oprócz PK i FK do tabeli pytania, tworzysz kolumnę zawierającą treść odpowiedzi, oraz kolumnę "correct", która przyjmie wartości 0 lub 1 i będzie wyznacznikiem, czy odpowiedź jest prawdziwa. Dzięki takiemu zastosowaniu możesz (ale nie musisz) tworzyć pytania z kilkoma poprawnymi odpowiedziami. 

Skoro już chcesz uniknąć random od SQLa to możesz na początku pobrać wszystkie id występujących pytań, po czym losujesz jedno po stronie php, czy czego tam sobie używasz i tym razem wybierasz pytanie z bazy, ale o określonym id. Co do wspomnianych przez Ciebie 20 sekund - setTimeout.

Podobne pytania

0 głosów
1 odpowiedź 1,475 wizyt
0 głosów
1 odpowiedź 826 wizyt
pytanie zadane 26 kwietnia 2015 w C i C++ przez TheFunny Gaduła (3,420 p.)
0 głosów
1 odpowiedź 2,101 wizyt
pytanie zadane 11 stycznia 2016 w JavaScript przez Specyficzny Nowicjusz (190 p.)

93,656 zapytań

142,575 odpowiedzi

323,100 komentarzy

63,171 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

Kursy INF.02 i INF.03
...