Our first attempt to create a web poll certainly works fine, but what if someone's favourite film is Pride & Prejudice, or The Matrix? In a multiple choice poll, there are always going to be people who want to complain about a lack of options (unless it is a straight yes/no question), but there are many situations when just having three possible answers is not enough.
To cope with this scenario we need to adjust the manner in which we've been thinking about our poll answer possibilities - the previous design had each answer physically attached to each question, which meant we always had a limited number of questions. Sure, we could adjust the design so that we had Answer4, Answer 5...Answer63, Answer64, etc, but that is both wasteful and sloppy programming.
A far neater and more flexible solution is to use normalisation to split off the answers from the questions, creating a table for poll answers. Using this method we would attach answers to their questions through the ID primary key in the pollquestions table, which theoretically gives us a flexible number of answers to each question.
Want to learn PHP 7?
Hacking with PHP has been fully updated for PHP 7, and is now available as a downloadable PDF. Get over 1200 pages of hands-on PHP learning today!
If this was helpful, please take a moment to tell others about Hacking with PHP by tweeting about it!
Next chapter: Putting Poll v2 into action >>
Previous chapter: Development: creating the simplest poll
Home: Table of Contents
Copyright ©2015 Paul Hudson. Follow me: @twostraws.