У меня есть ОДНА длинная HTML-страница, несколько наборов вопросов, разделенных на небольшие разделы (около 15 подразделов на одной странице), общее количество вопросов составляет около 100 вопросов: варьируется от ввода, множественного выбора, флажков, переключателей, текстовой области, и загрузка файла. Один вопрос может содержать много ответов, которые получены либо из группы флажков, группы из списка выбора, группы из нескольких вариантов, либо из всех них, объединенных в один ответ. Я думал, что буду использовать этот дизайн базы данных ниже, но недавно узнал, что это не очень хороший подход в конце концов.
- У одного клиента может быть только один набор вопросов: один клиент на 100 вопросов.
- Для старого подхода я не сохраняю вопрос в базе данных, а вместо этого назначаю константу в кодировании PHP. Проблема в том, что мне нужно сравнить вопрос в PHP, чтобы синхронизировать его с ответом в базе данных. Если бы один вопрос был изменен / удален / перемещен из PHP, я определенно потерялся бы, чтобы сопоставить его с ответом в базе данных Анкеты. Лучшее решение?
- Могу ли я сохранить несколько ответов, полученных из нескольких элементов формы, в одном поле как один ответ? Как я могу получить это поле и снова отобразить его для просмотра клиентом в форме?
- Какой вариант ниже я должен пойти?
ВАРИАНТ 1: Старый подход (1 таблица)
ТАБЛИЦА: Анкета
- ID (PK)
- Пользовательский ИД
- Положение дел
- A1
- A2
- A3
- ,
- ,
- ,
- A100
ВАРИАНТ 2: Новый подход (2 таблицы)
ТАБЛИЦА: Вопрос
- QID (PK)
- Вопрос (varchar)
ТАБЛИЦА: Ответ
- ПОМОЩЬ (ПК)
- Пользовательский ИД
- QID (int)
- Ответ (varchar)
Или ВАРИАНТ 3?