Scholieren.com forum

Scholieren.com forum (https://forum.scholieren.com/index.php)
-   Software & Hardware (https://forum.scholieren.com/forumdisplay.php?f=20)
-   -   [PHP] Online enquete (https://forum.scholieren.com/showthread.php?t=1085310)

Paperz 26-01-2005 15:36

[php] online enquete
 
Ik ben bezig met het maken van een online enquete mbt de usability van een applicatie. Op papier heb ik 'm af. Alleen ik wil 'm graag in PHP maken voor online respons.

2 vraagjes.

- Zijn er (open source) mogelijkheden om uitgebreidde enquetes te maken?
zo ja welke?

In principe is het de bedoeling dat ik het zelf doen, alleen een probleem, het grootste deel van de vragen zijn of open of multiple choice (dus makkelijk te verwerken) maar er zitten een aantal lastige tussen zoals deze 2 (combinaties tussen open vragen en mp, en vragen in vragen) .

http://paperz.endoria.net/enq.gif

Hoe pak ik dat het beste aan mbt tot mijn database e.d. want ik heb er even over zitten na te denken, maar al mijn ideeen worden wel erg complex. :/
suggesties zijn welkom.

(en ja ik weet dat ik de vragen ook anders kan stellen, maar mijn ervaring is dat mensen afhaken bij omslachtige enquetes, en dat is niet de bedoeling)

ekki 26-01-2005 17:02

Ik heb ook ooit zoiets gemaakt.
Een voorbeeldje ervan staat op http://jcz.nl/enquete

De tabellen die we hebben gebruikt:
- answers
- polls
- questions
- subanswers
- useranswers
- users

In de tabel 'questions' staan de vragen. Elke vraag heeft een id en een pollid (omdat je verschillende enquetes moet kunnen hebben natuurlijk). Dan nog 'questiontext', 'questiontype' (bijv. open vraag, vraag met een vierkantje ervoor, vraag met een radiobutton ervoor, enzovoorts). Tenslotte een dingetje om de vragen te kunnen ordenen.

In de tabel 'answers' staan de antwoorden die mensen op de vragen kunnen geven. Natuurlijk weer id, pollid en dan ook nog questionid. In het veld 'hassubanswer' vul ik in of er een subantwoord is. Zoja, dan moet ie die uit de tabel subanswers halen.

De tabel subanswers is weer bijna hetzelfde opgebouwd als de tabel answers.

In useranswers worden mbv de id's van de vragen de antwoorden opgeslagen.

Ik weet niet of het systeem zo geweldig is, maar het is wat. De statistiekenpagina is best mooi trouwens. Voor deze keer mogen jullie wel even een kijkje nemen ;):

http://jcz.nl/pollsystem/stats/?pollid=1
inloggen met user: stats
ww: tieken

Het enquetesysteem zoals ik (+ mijn vriend) dat gemaakt heb is nog niet geweldig. Wat je vaak ziet is dat je bijv. op een schaal van 1 tot 10 een rondje moet invullen en dan staan alle antwoorden onder elkaar.

Bijv: wat vindt u van de volgende aspecten van dit forum?
uiterlijk 1 2 3 4 5
forumbazen 1 2 3 4 5
users 1 2 3 4 5

enzovoorts

maar dat wordt ook weer lastiger.

bovendien heb ik zelf nog geen 'invoermodule' gemaakt voor dit systeem, dus ik moet alles nog in de database doen ;). Maar dat is op zich wel vrij makkelijk te maken.

Ik hoop dat je hier wat aan hebt.

evil devolution 26-01-2005 17:33

ekki, houd je er wel rekening mee dat iedereen. alle mail-adressen uit die lijst kan zien? :o

Warsocket 26-01-2005 17:40

tis wel lief als je er ook kabel bijzet

ekki 26-01-2005 17:41

Citaat:

crazysoldier schreef op 26-01-2005 @ 18:33 :
ekki, houd je er wel rekening mee dat iedereen. alle mail-adressen uit die lijst kan zien? :o
oh.
dat moet niet.

ff wat aan doen :o.

ekki 26-01-2005 17:42

Citaat:

Warsocket schreef op 26-01-2005 @ 18:40 :
tis wel lief als je er ook kabel bijzet
sorry ;).

ik weet niet of het aan het php-script ligt dat het lang duurt, eigenlijk.

Paperz 26-01-2005 18:58

Het ziet er iig goed uit...
ik zal morgen even kijken of zo'n database structuur wat voor mij is...
ik moet alleen de boel exporteren om te verwerken in spss (maar dat is 't enige waarvan ik wel zeker ben dat 't lukt :p )

ekki 26-01-2005 20:49

Citaat:

Paperz schreef op 26-01-2005 @ 19:58 :
Het ziet er iig goed uit...
ik zal morgen even kijken of zo'n database structuur wat voor mij is...
ik moet alleen de boel exporteren om te verwerken in spss (maar dat is 't enige waarvan ik wel zeker ben dat 't lukt :p )

SPSS kan toch wel overweg met een comma seperated file? Zoja, dan is er geen probleem, want dat is makkelijk te doen.

Ulfheðin 26-01-2005 22:51

AVG, COUNT en DISTINCT zijn fijne SQL functies

Paperz 27-01-2005 10:17

Ok ok, ik denk dat ik me database ongeveer heb...
alleen hoe doe ik het met users?
Men hoeft niet in te loggen, dus zo kan ik het niet aanpakken.

Nou gok ik dat ik iets met sessions moet doen, maar hoe kan ik dat het simpelst doen.
Of heeft iemand een andere/betere suggestie?

Ulfheðin 27-01-2005 12:03

Je kan bij elke stem die gedaan is het ip in je tabel meenemen en aan de hand daarvan de mogelijkheid op stemmen ontzeggen. Je kan het ook met cookies doen, of een combinatie van cookies met dat ip-gedoe, als een combinatie van zekerheid over dynamische ip's en veiligheidsinstellingen

Paperz 31-01-2005 11:36

Hieronder heb ik de uitwerking van me DB.

in q_user worden users dmv cookies aangemaakt, ik heb 't op zo'n manier al eens eerder gedaan (met een winkelwagentje) dus ik moet 't zo ook wel aan de praat krijgen lijkt me. Maar is deze manier erg omslachtig? kan ik het beter anders doen.

Verder een sql/php vraagje

Ik wil dus een vraag als in de afbeelding uitdraaien, 't liefst in één keer. En dan een aantal van dat soort vragen.
En hoe draai ik dit in php uit?

Dus :

question
- answer
- answer
- answer
-- s_answer
-- s_answer
-- s_answer

question
- answer
- answer
- answer
-- s_answer
-- s_answer
-- s_answer

't wil me maar niet lukken (mijn sql is een beetje roestig)


PHP-code:

CREATE TABLE answers (
  
a_id int(3NOT NULL auto_increment,
  
nr int(3) default NULL,
  
answer text,
  
a_value int(1) default NULL,
  
q_id int(3) default NULL,
  
PRIMARY KEY  (a_id)

--------------------------------------------------------

CREATE TABLE q_user (
  
userId int(11NOT NULL default '0',
  
cookieId varchar(50) default NULL,
  
q_id int(3) default NULL,
  
a_value int(1) default NULL,
  
sa_value int(1) default NULL,
  
ua_value text,
  
PRIMARY KEY  (userId)

--------------------------------------------------------

CREATE TABLE questions (
  
q_id int(3NOT NULL auto_increment,
  
nr int(3) default NULL,
  
type varchar(25) default NULL,
  
question text,
  
PRIMARY KEY  (q_id)
TYPE=InnoDB ROW_FORMAT=COMPRESSED;
--------------------------------------------------------

CREATE TABLE s_answers (
  
sa_id int(3NOT NULL auto_increment,
  
q_id int(3) default NULL,
  
nr int(3) default NULL,
  
s_answer text,
  
sa_value int(1) default NULL,
  
PRIMARY KEY  (sa_id)




Alle tijden zijn GMT +1. Het is nu 10:34.

Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.