如何在数据库列中存储HTML的最佳实践

时间:2010-06-15 18:04:09

标签: html database json storage formats

我有一个动态修改表的应用程序,想想电子表格),然后保存表单(表是其中的一部分),我将更改的表(用户修改)存储在名为html_Spreadhseet的数据库列中,同时其余的表格数据。现在我只是以纯文本格式存储html,基本的字符转义......

我知道这可以存储为单独的文件,源表(html_workseeet)已经存在。但是从数据处理的角度来看,更容易将更改后的html表保存到列中,以避免不得不提出文件管理策略(这个文件夹将存在,现在必须包含备份中的文件夹,现在安全问题需要应用于文件,如何将db安全性与文件系统同步等),所以为了最大限度地减少这些问题,我只将...部分存储在数据库列中。

我的问题是我应该gzip HTML,可能使用JSON或其他格式来轻松存储和检索数据库列中的HTML,在数据库中存储HTML内容的最佳做法是什么?或者只是将它存储为我目前作为转义文本列?

3 个答案:

答案 0 :(得分:1)

如果你要做的是保存HTML以便重新显示,那么保存它是什么问题,然后只是通过存储过程检索它,并在需要时为它们重新显示它?

假设您有一个HTML页面,可以从ThickBox页面或选择选项中的列表中选择某种ID。

通常对于这种情况,您可能会通过$ Ajax查询数据库,可能是JSon,或者不是。

然后发送回$ Ajax调用的结果将是您的结果数据。

然后用DB SpreadSheet替换保存SpreadSheet的Div。

因此,在回答原始问题时,您可以使用某种ID存储SpreadSheet,并将其存储为Div的HTML。

检索后,您只需使用已存储的内容替换Div HTML。

答案 1 :(得分:0)

这取决于HTML的大小。在压缩之后,您可以将其存储为二进制BLOB。大多数情况下,最好在转义可能导致问题的SQL字符后直接存储数据 多次问到为什么要存储视图而不是模型?

答案 2 :(得分:0)

您可能应该点击子弹并解析表(可能使用HTML解析器),否则您可能会冒着用户在表数据中存储破坏性JavaScript的风险。 (这意味着还应该解析单元格内容)。数据仍然可以存储为blob(可能是压缩的CSV或JSON),但您需要确保它不会造成损害。