У меня довольно большая форма, которая состоит из переключателей / флажков, а также ввода текста. Из-за природы флажков, если они публикуют форму, не проверяя ее, она не отправляется в данных POST. Что оставляет меня немного зацикленным на том, как с этим справиться.
Я изначально начал свою базу данных со стандартным «столбцом для каждого поля». Например:
id | userid | firstname | lastname | middlename | phonenumber | mobilenumber |
Это быстро изменилось, когда я получил более 30 столбцов. Эта форма огромна. Я решил использовать схему EAV, чтобы в моей таблице было только 4 строки. Теперь это выглядит так:
id | userid | name | value
---+--------+-----------+------
1 | 1 | firstname | steve
---+--------+-----------+------
2 | 1 | lastname | blah
Это похоже на более хороший подход.
Итак, мой вопрос: как мне обращаться с базой данных, когда я не совсем уверен, что в ней происходит? Если у меня есть 20 флажков (каждый со своим именем), я должен вручную проверить, был ли каждый из них отправлен, и установить значение 'null', если нет?
Должен ли я очистить все строки таблицы для идентификатора пользователя и заменить его всеми новыми данными?
Какой эффективный способ сделать это?