Так что здесь очень динамично, а я нет
знать, какой будет лучший подход
для хранения каждого поля формы в
базы данных.
Я прошу прощения, если я вас неправильно понял, но я считаю, что вы должны проектировать базу данных в соответствии с данными, а не формой. Трудно комментировать, не зная точных деталей вашей ситуации, вот пример:
Если вы обычно сбрасываете все данные из формы в одну таблицу, но поскольку иногда это будет включать в себя отправку 5 значений, а иногда - 10, то есть вы не уверены, сколько столбцов должна иметь ваша таблица, тогда я думаю, проблема в дизайне базы данных.
Определите, какие части данных зависят от других частей данных. Например, вы упомянули, что проверка "hotel" может открыть больше полей для этого выбора. Предположим, что это включает в себя такие вещи, как «en-suite», «тип кровати» и т. Д. Тогда у вас должно быть 3 стола, стол регистрации (при условии, что пользователь использует форму для покупки этих услуг), стол отеля и стол Registration_hotel. В регистрационной таблице будет записан ряд деталей, относящихся только к регистрации, таких как имя клиента и уникальный идентификационный номер. Таблица отеля будет содержать информацию, относящуюся только к отелю, например, сколько номеров имеет ванную комнату. Таблица registration_hotel будет содержать детали, относящиеся к этой регистрации в этом отеле. Возможно, вы захотите, чтобы столбец типа bool записывал, запрашивал ли пользователь «en-suite».
При отправке формы, проверьте, какие части пользователь ввел с if(isset($_POST['hotel']) && !empty($_POST['hotel']))
. Тогда отправляйте материал только в таблицу registration_hotel, если это условие выполняется.
Если такой дизайн приводит к слишком большому количеству отдельных вызовов к базе данных, вам может потребоваться просмотреть транзакции , которые помогут вам управлять скоростью и безопасностью этих вызовов.
Если вы можете опубликовать в конкретном примере что-то, что вы не знаете, как это сделать, это было бы полезно.