I'd go with a mysql data modelled approach as it will allow mysql to
do lots of the heavy lifting during analysis as you've mentioned. If
there are a lot of entries, it's gonna get complex and expensive
memory-wise to manage XML or session based datasets.
Plus having each question as it's own record should give you greater
flexibility in packaging the data for analysis and reporting.
Bastien
Sent from my iPod
On Mar 13, 2010, at 1:10 PM, tedd <tedd.sperling@xxxxxxxxx> wrote:
Hi gang:
I just completed writing a survey that has approximately 180
questions in it and I need a fresh look at how to store the results
so I can use them later.
The survey requires the responder to identify themselves via an
authorization script. After which, the responder is permitted to
take the survey. Everything works as the client wants so there are
no problems there.
My question is how to store the results?
I have the answers stored in a session variable, like:
$_SESSION['answer']['e1']
$_SESSION['answer']['e2']
$_SESSION['answer']['e2a']
$_SESSION['answer']['e2ai']
$_SESSION['answer']['p1']
$_SESSION['answer']['p1a']
$_SESSION['answer']['p1ai']
and so on. As I said, there are around 180 questions/answers.
Most of the answers are integers (less than 100), some are text, and
some will be null.
Each "vote" will have a unique number (i.e., time) assigned to it as
well as a common survey id.
My first thought was to simply record the "vote" as a single record
with the answers as a long string (maybe MEDIUMTEXT), such as:
1, 1268501271, e1, 1, e2, 16, e2a, Four score and ..., e2a1, ,
Then I thought I might make the data xml, such as:
<survey_id>1</survey_id><vote_id>1268501271</vote_id><e1>1</
e1><e2>16</e2><e2a>Four score and ...</e2a><e2ai></e2ai>
That way I can strip text entries for <> and have absolute control
over question separation.
Then I thought I could make each question/answer combination have
it's own record while using the vote_id to tie the "vote" together.
That way I can use MySQL to do the heavy lifting during the
analysis. While each "vote" creates 180 records, I like this way best.
Then I thought, what would you guys do? So, what would you guys do?
Keep in mind that this survey must evaluated in terms of answers,
such as "Of the ones who answered e1 as 1 how did they answer e2?"
If there is something wrong with my preference, please let me know.
Thanks,
tedd
--
-------
http://sperling.com http://ancientstones.com http://earthstones.com
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php