Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Návrh tabulek na dotazníky (PHP+MySQL)

Nějak v tom tápu, tak jdu na rozumy. Občas dělám na jednom webu dotazník, kde je třeba 30 otázek. Odpovědi se pak posílají na e-mail. já bych si to chtěl nějak ukládat do databáze MySQL a u dotaznáíků, na nšž už se neodpovídá to "tahat", jak to dopadlo.
Nemohu však vymyslet jakou by měly mít tabulky strukturu, vždy se u něčeho zarazím. Napadá mne nějak takto:

první (d_dotazniky)
id|nazev_dotazniku

druhá (d_otazky)
id|nazev_dotazniku|otazka|

třetí (d_odpovedi)
id (otazky)|odpoved

To je také nějaké komplikované...
Jak byste to udělali vy?

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Do databázy potrebuješ uložiť údaje o ankete (=dotazník), pričom každá anketa pozostáva z niekoľkých…
los 12.05.2007 20:22
los
Jooo počet hlasů mi tam celou dobu chybí. Odpovědi sdružovat nepotřebuji. U některých otázek se sice…
Kráťa 12.05.2007 21:28
Kráťa
Tak potom si poriadne pozri foltynov návrh a do poslednej tabuľky pridaj ešte stĺpec pre počet hlaso…
los 12.05.2007 21:37
los
Tak další pokus dotazniky id | nazev_dotazniku otazky id | id_dotazniku | otazka odpovedi id | id_… poslední
Kráťa 12.05.2007 21:56
Kráťa

Do databázy potrebuješ uložiť údaje o ankete (=dotazník), pričom každá anketa pozostáva z niekoľkých otázok. Každá otázka má niekoľko možností, ako odpovedať. To sú zatiaľ tri tabuľky - anketa, otázka, možnosť. A nakoniec si potrebuješ zapamätať, ako respondenti vlastne hlasovali.

Ak nepotrebuješ vedieť, ako vyplnil anketu jeden človek (čiže nepotrebuješ z ankety zistiť, že napr. človek, ktorý si pri prvej otázke vybral prvú možnosť, si vybral pri druhej otázke tretiu možnosť), tak by som použil návrh od foltyna (plus v tabuľke možných odpovedí by pribudol stĺpec pre počet hlasov za danú možnosť). Inak budeš potrebovať ďalšiu tabuľku, ktorá bude združovať konkrétne odpovede každého respondenta.

Predpokladal som, že pre každú otázku existujú možnosti, z ktorých si respondent vyberá, t.j. nemôže v dotazníku odpovedať nejakým textom. Ak by mohol, tak by to bolo o málo zložitejšie.

Takže najprv si musíš zodpovedať na tieto otázky:
- Potrebuješ združovať odpovede respondentov?
- Môžu respondenti odpovedať na niektoré otázky slovne?

Návrh tabuliek bude trochu odlišný, ak budeš chcieť mať možnosť znovupoužiť zadanie jednej otázky vo viacerých anketách. Otázkou je, či by sa táto možnosť pri tvorbe ankiet naozaj využila.

Jooo počet hlasů mi tam celou dobu chybí. Odpovědi sdružovat nepotřebuji. U některých otázek se sice dopisuje, ale to už na jakousi statistiku, kterou bych chtěl zobrazovat nebude mít vliv, nemusí to tam být. Je tam například: Které televize sledujete a u toho základní stanice. Většinou jsou to inputy radio, ale občse i checkboxy. :-( Tam, kde se dopisuje bývá např. radio s volbou jiné a textbox které jiné. V těch statistikách mi stačí ono "jiné".

Takže:
dotaznik
id_dotazniku | nazev_dotazniku

otazky
id_otazky | zneni_otazky

odpovedi
id_otazky | a | b | c | d

v těch a, b, c, d počty hlasů u jednotlivých možností. Ale tím se mi zase vytratily texty odpovědí buuu.

Zpět do poradny Odpovědět na původní otázku Nahoru