2013-03-06 3 views
1

Добрый день всем,хранения базы данных против Куки - Для хранения из данных

У меня есть форма с примерно 90 до 100 полей, разделенный на подразделы формы, которые загружаются с помощью AJAX каждый раз, когда форма будет отображаться , но я хотел бы сохранить данные в полях формы каждый раз, когда подформация загружается (скажем, при случайном обновлении страницы или даже если пользователь переключается между субформами). Каким образом это можно сделать.

Я думал, что могу сохранить его в куки или сказать в базе данных. Но сохранение его в базе данных означало бы, что я должен будет запрашивать данные полей каждый раз, когда загружается подформат. И снова, если это были файлы cookie, он должен прочитать данные, хранящиеся в файлах cookie. Мне нужна помощь, чтобы решить, что является самым эффективным способом, больше с точки зрения скорости.

Что является лучшим способом, среди них, или есть другая возможность сохранить данные поля в суб формах, каждый раз, когда они загружаются (которые загружаются через AJAX каждый раз.)

Я работаю с PHP и Codeigniter.

Спасибо!

+0

сделать это в стороне клиента. Sisyphus - хороший инструмент для использования локального хранилища. – itachi

+0

Мне жаль, что я не мог ответить на оба ответа от Тима и Маршалла, оба отличные. Спасибо! – Archer

ответ

2

Я бы первым упростить с помощью Serialize:

$data = serialize(array_merge($_POST,$olddata)); 

Тогда что может быть достаточно для вас, но это теперь очень легко хранить его в любом месте, так как это просто строка. Для того, чтобы реформировать его в первоначальное состояние:

$data = unserialize($data); 

.. где бы вы в конечном итоге потянув ее из - базы данных, сессии, и т.д ..

+0

Спасибо, это очень хорошее предложение! – Archer

3

Должна быть сохранена такая форма, как эта. Я бы рассмотрел состояние сеанса, чтобы сгладить загруженность вспомогательной формы, с записью в базу данных всякий раз, когда пользователь обновляет что-то из следствия. Лично я бы начал с решения только для базы данных, а затем добавил состояние сеанса, если производительность является проблемой.

Файлы cookie не предназначены для хранения больших объемов данных. Даже если это были возможно, они раздувают запрос значительно (представьте 100 полей формы, все передаваемые с каждым запросом).

Локальное хранилище в браузере также является опцией, хотя сначала я бы рассмотрел другие варианты.

+0

Да, у меня было такое же ощущение о печенье. – Archer

2

Проза базы данных Он может также получить доступ с другого компьютера слишком You может хранить гораздо гораздо больше данных, то Cookie Конусы Если вы retrive данные по AJAX это coukd Cose больше нагрузки на сервер

Cookie быстрее, чем базы данных нет запроса, выборки и весь процесс. Конусы ограниченное количество пространства

Однако вы можете использовать локальное запоминающее устройство

Так ответ будет хранения базы данных

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