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

Reply via email to