Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][MySQL][PHP]quiz,konkurs
Forum PHP.pl > Forum > Przedszkole
Ekolrn
Witam. Chciałbym zrobić prosty konkurs/quiz w php. Otóż mam 100 pytań , dla każdego uczestnika konkursu będzie się wyświetlało losowe 10 pytań. Chciałbym również by był zliczany czas w jakim użytkownik rozwiązał te 10 pytań.

Jestem początkujący w tym temacie

O o chodzi: zainstalowałem xampp -a , stworzyłem sobie bazę danych oraz tebele:
ID , tresc , odp1 , odp2 , odp3 , odp4 , prawidlowaodp. Wpisałem 3 przykładowe pytania i odpowiedź


Potrzebuje kogoś kto mnie dalej popchnie ponieważ nie bardzo wiem co z tym zrobić dalej. Widziałem podobne tematy jednak tam już ludzie mieli zdecydowanie więcej dlatego zakładam nowy temat , prosze o jakiś plan co dalej oraz ew jak to dalej robic.
Daiquiri
1. Musisz wylosować 10 pytań (po jednym lub od razu 10, wedle uznania)
2. Musisz zbudować jakiś formularz odpowiedzi
3. Musisz obsłużyć wysłaną odpowiedź użytkownika:
3.1 Sprawdzić czy wybrana odpowiedź jest poprawna
3.2 Jeżeli tak - możesz naliczyć mu punkty za prawidłową odpowiedź

Nie wiem jak chcesz zliczać czas - po prostu posiadać informację ile to zajęło, czy czas na rozwiązywania ma być ograniczony.
hyhyhy
a gdyby pobrać godzinę na stronie z testem (zostanie pobrana zaraz po wywielteniu strony), a następnie pobrać godzinę po naciśnięciu przycisku koniec, tzn potrzebne by było podwójne przekierowanie, najpeirw na stronę z pobraniem godziny po zakończeniu testu, a potem na ostateczną stronę wyników, znając już czas (różnica między 2 odczytami funkcji date()) - bo domyślam się, że ma ona wpływ na wynik.

pytania wyświetlać z bazy po id,

  1. for($x=0;$x=10;$x++)
  2. {
  3. $i = rand(15,30);
  4. SELECT * FROM DATABASE WHERE `id`=$i
  5. }


zastrzegam sobie prawo do błędów w kodzie, gdyż jestem początkujący i nei do końca opanowałem składnie mysql/php smile.gif
przy czym pojawia się tu problem, ze pytania moga sie powtorzyc - szczerze mowiac nie chce mi sie teraz myslec, mam gdzies jakis program w pascalu czy C, ktory losuje bez powtorzen - jak znajde to wrzuce mechanizm dzialania.
Ekolrn
Dziękuje wszystkie odpowiedzi chetnie przeanalizuje

czyli teraz maja ta baze danych i jedna tabelke wymiona wyzej tworze formularz pobieram dane z bazy dancyh z trescia pytania i odpowiedziami ?
Daiquiri
Na to wychodzi. Musisz wypełnić formularz danymi z bazy. Tak się tylko zastanawiam czy Ty wiesz co robisz... smile.gif.
Ekolrn
Hehe wiem co robie nie wiem tylko jak to zrobić ;]

A jak zrobić by pytania były wyświetlane pojedyńczo a nie 10 naraz ?
(czyli pojawia siś pytanie klikamy odpowiedz np nr 2 , OK i pojawia sie koleje pytanie )
Daiquiri
Możesz to zrobić jak Ci się tylko podoba, np. jeden formularz obsługujący dane pytanie odświeża swoją zawartość po wysłaniu poprzedniej odpowiedzi.
Ekolrn
Cytat(Daiquiri @ 10.02.2011, 15:19:33 ) *
Możesz to zrobić jak Ci się tylko podoba, np. jeden formularz obsługujący dane pytanie odświeża swoją zawartość po wysłaniu poprzedniej odpowiedzi.

Prawdę mówiąc niewiele mi to dało ;/ jak by to w kodzie wyglądało ?
Daiquiri
No przecież ja za Ciebie kodu pisała nie będę. Możesz pobierać pytania pojedynczo, w stylu:
1. Pobieram pytanie z bazy (jeżeli pytanie != 1 to sprawdzam czy już nie padło)
2. Uzupełniam formularz
3. Czekam, aż użytkownik wybierze odpowiedź (np. zatwierdzi przyciskiem "OK")
4. Jeżeli użytkownik zatwierdził odpowiedź przechodzę do punktu pierwszego.

Ewentualnie:
1. Pobieram 10 pytań z bazy (np. do tabeli $pytania)
2. Uzupełniam formularz pytaniem nr 1 ($pytania[$i], gdzie na starcie $i=1)
3. Czekam, aż użytkownik wybierze odpowiedź (np. zatwierdzi przyciskiem "OK")
4. Jeżeli użytkownik zatwierdził odpowiedź przechodzę do punktu pierwszego zwiększając numer pytania o 1 (++$i)

Sposobów jest sporo, aczkolwiek radzę zacząć od tych najprostszych smile.gif.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.