At 7:12 PM -0400 6/28/09, Rob Gould wrote:
I have a webpage which allows people to log in and make selections
with radio buttons and hit SUBMIT and saves the data from those
radio buttons to a mySQL database.
However, I'm finding that I also need the ability to allow a user to
log back in at a later date (or even on a different computer), and
pull up that survey again,
with each of the 50-something radio-buttons back in the positions in
which they were last saved.
Surely there's a best-case-method for doing this type of thing
(saving large numbers of radio-button-group settings to mySQL and
pulling them back
again later). Any advice is greatly appreciated. Perhaps there's a
jQuery-way to retrieve all the radio-button group settings as an
array and save it and pull it back again?
Or perhaps a PHP-specific method - - - I'm fine with either.
Rob:
I don't know the best way, but this is the way I do it.
My database is relational. Each user has an unique ID as well as each
question has a unique ID and the answer to each question is the one
of several different choices (1 to whatever).
Each answer is recorded in the database as a *separate* record that
contains the user ID, question ID and their choice. A record might
look like this:
Table: answers
Fields: user_id, question_id, answer
Values: 34,115,5
That's where 34 is the user's ID, 115 is the question's ID, and 5 is
the user's choice.
Then whenever you wanted to pull out and show the user (user 34 for
example) what they picked, just select all the records that have a
user ID of 34 and sort them by question ID and show the selections
the user made.
If you have different test, then add a unique test_id field and make
the question_id non-unique. An example might be:
Table: answers
Fields: user_id, test_id, question_id, answer
Values: 34,20,11,5
That's where 34 is the user's ID, 20 is the test's ID, 11 is the
question's ID, and 5 is the user's choice.
Then you could pull out all records that have the same user ID and
test ID and show the questions and answers associated with that test
and that user.
That works for me.
Cheers,
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