Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> quiz z użyciem mysql/php - jak to zrobić?
qrzysztof
post
Post #1





Grupa: Zarejestrowani
Postów: 220
Pomógł: 19
Dołączył: 25.04.2009

Ostrzeżenie: (0%)
-----


Witam, mam następujący problem. Chciałbym zrobić quiz, w którym każde pytanie miałoby przynajmniej jedną (ale nie maksymalnie) dobrą odpowiedź).

Na przykład w quizie ze znajomości angielskiego dane mogłyby wyglądać tak:

--------------------------------------------------------------------------
Pytanie: rzucać, Odpowiedź: to throw lub to cast
Pytanie: śpiewać, Odpowiedź: to sing
Pytanie: malować, Odpowiedź: to paint
Pytanie: kupić: Odpowiedź: to buy lub to purchase lub to get
--------------------------------------------------------------------------

Przykład może nieco naciągany, ale chodziło mi tylko o pokazanie idei.

Doszedłem do wniosku, że najlepiej (najefektywniej) będzie przechowywać te dane w bazie w następującej postaci:

ID-----Pytanie-----------Odpowiedź

1------rzucać-------------to throw
2------rzucać-------------to cast
3------śpiewać-----------to sing
4... itd.

Czyli każda kombinacja pytanie/odpowiedź w osobnym rekordzie tej samej tabeli. Według mnie to najlepszy pomysł, ale jako że stawiam pierwsze kroki to bardzo możliwe, że się mylę.

Chciałbym to teraz wyciągnąć z tej tabeli do zmiennej PHP w jakiejś łatwej do obsługi postaci. Najlepiej tak, żeby pytania się nie powtarzały a odpowiedzi nie poginęły.

Bo mogę sobie na przykład zrobić:

Kod
SELECT * FROM tabela


Wtedy pytania będą się powtarzać. Mogę taką tablicę obrobić potem w PHP, ale wydaje mi się to mało efektywne (najlepiej chyba aby jak najwięcej pracowała przy tym baza). Jak z kolei dam:

Kod
SELECT * FROM tabela GROUP by Pytanie


to poginą mi odpowiedzi.

A może w dwóch tabelach to jakoś rozmieścić, porobić jakieś złączenia? Znam już podstawy SQL i PHP, brakuje mi po prostu wyobraźni, jak to najefektywniej "rozegrać". Z góry dzięki za pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
bounty
post
Post #2





Grupa: Zarejestrowani
Postów: 68
Pomógł: 9
Dołączył: 12.04.2009
Skąd: Wrocław

Ostrzeżenie: (10%)
X----


Jak bez sensu?! Potem tylko w html / php dopisze odpowiedzi jakie chce dodatkowe nie poprwane.
Go to the top of the page
+Quote Post
Fifi209
post
Post #3





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Cytat(bounty @ 25.04.2009, 15:19:32 ) *
Jak bez sensu?! Potem tylko w html / php dopisze odpowiedzi jakie chce dodatkowe nie poprwane.


Jakbyś czytał uważnie to byś wiedział, że może być kilka poprawnych. Poza tym twój sposób to istne marnowanie zasobów serwera (m.in. miejsce na dysku) i marnowanie łącza (w końcu zamiast jednego rekordu dostajesz np. 4)

mała poprawka co do mojego pomysłu

Pola w bazie:

id pytanie odpowiedzi poprawne

i zapisujesz dany rekord jako

1 Czy mleko jest dobre? tak;bardzo;nie 1;1;0

Wartość tak odpowiada 1
Wartość bardzo odpowiada 1
Wartość nie odpowiada 0

1 - poprawnie
0 - źle

Mam nadzieję, że złapiesz. (IMG:http://forum.php.pl/style_emoticons/default/haha.gif)

Ten post edytował fifi209 25.04.2009, 14:28:27
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 03:52