Avatar billede mrbs Nybegynder
28. marts 2010 - 22:15 Der er 4 kommentarer og
1 løsning

Variabel antal svarmuligheder i mysql

Hej!

Jeg er ved at lave et system, hvor en bruger skal have adgang til at oprette en afstemning. Sagen er at antallet af svarmuligheder kan variere mellem 2 og omkring 50. Derfor kan jeg ikke helt gennemskue, hvordan jeg laver en tabel der holder styr på svarmulighederne for mig.

For hvert sprørgsmål kan der være flere svarmuligheder som checkbokse. Derudover skal man kunne se, hvilke brugere der har svaret hvad - men det kan jeg måske nok godt gennemskue.

Hvordan er bedste praksis?
Avatar billede intenz Novice
28. marts 2010 - 23:12 #1
Du skal lave en normaliseret database, f.eks. sådan her:

Tabel 1: questions
question_id
question_text

Tabel 2: answers
answer_id
question_id
answer_text

Tabel 3: user_answers
user_id
question_id
answer_id

På den måde kan du oprette et spørgsmål ved at indsætte en række i tabel 1.
Du kan så oprette alle de svar muligheder du vil have i tabel 2.
Og gemme spørgsmål, svar og bruger id i tabel 3.

Håber det giver mening :)
Avatar billede Slettet bruger
28. marts 2010 - 23:50 #2
Og så kan du jo tilføje "vote_id", så du også kan se hvilken afstemning spørgsmålet hører til.
Avatar billede mrbs Nybegynder
29. marts 2010 - 09:35 #3
Ok... Det var også hvad jeg havde forestillet mig, men spekulerede på, om det var sådan man gjorde... Læg et svar - så fylder jeg lidt point på din konto :)
Avatar billede coderdk Praktikant
30. marts 2010 - 19:26 #4
kimsey0, vote_id? intenz's løsning dækker fint med question_id og answer_id ;)
Avatar billede intenz Novice
30. marts 2010 - 20:24 #5
->#4

Jeg tror ideen med det var hvis man ville have forskellige spørgsskemaer med forskellige spørgsmål.
I den stil her:

Så tabel 0: questionnaire
questionnaire_id
questionnaire_description

Og tabel 1 ville så være:
question_id
questionnaire_id
question_text
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester