数据库存储与Cookie - 从数据存储

时间:2013-03-06 03:25:17

标签: php mysql codeigniter session cookies

大家好日子,

我有一个大约90到100个字段的表单,分为子表单,每次必须显示表单时使用ajax加载。但是我想在每次加载子表单时保留表单字段上的数据(假设在意外页面刷新时或者即使用户在子表单之间切换)。这可以做到最好的方法是什么。

我以为我可以将它存储在cookie中或者在数据库中说出来。但是,将其存储在数据库中意味着每次加载子表单时我都必须查询字段数据。而且,如果它是cookie,它必须读取存储在cookie文件中的数据。我需要一些帮助来决定什么是最有效的方式,更多的是速度。

这些中最好的方法是什么,或者是否有任何其他可能性在每次加载时保留子表单中的字段数据(每次都通过AJAX加载。)

我正在使用PHP和Codeigniter框架。

谢谢!

3 个答案:

答案 0 :(得分:3)

需要持久存储的形式。我会考虑会话状态来平滑子表单加载,只要用户更新后果,就会写入数据库。就个人而言,我将从仅限数据库的解决方案开始,然后在性能出现问题时添加会话状态。

Cookie不用于存储大量数据。即使它可能,它们也会大大膨胀请求(想象每个请求都传输100个表单字段)。

浏览器中的本地存储也是一种选择,但我会首先考虑其他选项。

答案 1 :(得分:2)

我首先使用序列化来简化它:

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

那么这对你来说已经足够了,但现在它很容易存放在任何地方,因为它只是一个字符串。把它改成原来的状态:

$data = unserialize($data);

..无论你最终把它拉出来 - 数据库,会话等等。

答案 2 :(得分:2)

散文数据库 它也可以从其他计算机访问 您可以存储远远多于cookie的数据 锥 如果您通过ajax检索数据,则会导致服务器上的负载增加

曲奇 比数据库更快没有查询,获取和所有进程。 锥 空间有限

但您可以使用本地存储

答案是数据库存储