2016-06-14 2 views
0

Я хочу создать 5-страничную форму приложения с php, где пользователь должен ввести около 50 записей данных (имя, возраст, другие данные ...), которые должны быть сохранены в основной базе данных, если форма завершена.Многостраничная форма заявки с сеансами или базами данных?

Интересно, какие из следующих подходов работает лучше:

A) После завершения страницы, сохранить все записи в большом массиве $ _SESSION. В конце сохранить все элементы из массива $ _SESSION в основной базе данных

или

B) После завершения страницы, сохранить все записи в небольшой базе данных. Сохраните в массиве $ _SESSION только идентификатор небольшой базы данных и страницу, на которой пользователь в данный момент находится в форме. В конце сохраните все записи из базы данных $ _small в основной базе данных.

Я не уверен, что это приводит к проблемам при хранении около 50 записей в массиве $ _SESSION, особенно если многие пользователи используют эту форму. Поэтому я думал, что B может быть лучше. Но если нет, я не хочу прилагать дополнительные усилия для поддержки дополнительной локальной базы данных, если нет никакой разницы в производительности веб-сайта. Есть ли другие недостатки, о которых следует знать при использовании A) или B)?

ответ

1

Прежде всего нет больших и малых баз данных, есть только большая и небольшая база данных таблицы. Нет необходимости иметь отдельные схемы для каждой страницы, поэтому во втором подходе вы должны иметь несколько таблиц, а не несколько баз данных.

Независимо от того, что первый подход на самом деле лучше, потому что, если пользователь отменяет или не следует на всех пяти страницах, вы останетесь с бесполезной информацией в своих таблицах. Хранение записей в $_SESSION также выполняется быстрее, так как вам не нужно запрашивать базу данных после каждой формы, только финальной. Единственным недостатком второго подхода является то, что, если пользователь покидает вашу страницу, а затем возвращается позже, им нужно будет вводить все с нуля, тогда как в первом подходе они могут продолжать работу с того места, где они остановились (это дает вам возможность сказать пользователи отличаются чем-то вроде уникального идентификатора или электронной почты). Но первый подход - лучший.

+0

Да, извините, я столмены c. Но ваш последний спутник должен быть ** все еще первым подходом ** ... правильно? – Adam

+0

@ Адам, конечно, мой плохой я исправил, я имею в виду первый подход. Сессии - это путь – dimlucas

Смежные вопросы