Part 1 )
I'm about to develop an "event manager" to allow an organisation to create various events and accept guest registrations and payments. I propose creating a table events and a table for registrations. However, the twist is that different events will require different fields. There will be some standard field e.g. name, email, phone, etc. but some events will require other fields such as medical history, or occupation that are non-standard.
What is the best way to design the database to handle a dynamic list of fields and track the responses for each field?
Part 2 )
Some events will require guests to select sessions in different time slots. For example, when running a conference there may be 10 different time slots in the conference and 5 sessions running in any one time slot. e.g. the time slot "Saturday Afternoon - 2pm to 3.30pm" may have the options "1. PHP Basics", "2. Database basics", "3. Integrating PHP & MySQL".
While working in with the solution to Step 1, what is the best way to allow guests to select sessions for different time slots?