我研究这个问题已经有一段时间了,没有找到确切的答案。我要求的是严格的有序列表元素
<ul><li></li></ul>
标签元素存储在mysql数据库中,如果这是不好的做法,执行它的好方法是什么?
存储在mysql数据库中的数据示例:
"Get the latest products here
Price starts from $$$
Specs:
<ul>
<li>Specs</li>
<li>Specs</li>
<li>Specs</li>
</ul>"
各种各样的启蒙是非常受欢迎的。Thx
如果您的有序列表大部分是静态的(不太可能更改),那么最好将其保留在HTML层中。如果它是动态的(可能会更改),那么您应该将数据项保留在您希望的任何数据存储中。正如@unni Babu建议的那样,保持值的分离,并使用php循环来填充值。
这是不是糟糕的形式不是问题。重要的是它是否高效,以及为效率编码的代价是否值得。
在不知道应用程序其余部分的情况下,有四种方法可以处理它。
- 你正在处理的方式,但成本是每次你想要那段HTML的SQL查询。
- 使用memcache之类的东西在内存中缓存,但取决于你可能耗尽内存的片段数量。
- 缓存到硬盘文件,但是当树改变时需要重新生成文件。
- 每次需要时重新生成HTML。对于较小的元素可能更快。
为什么要保存标签呢?最好只在标签中保存值。
我的意思是在标签中保存值到db表。
然后检索这些值并使用php循环显示它。
它的更好的
节约时间
占用更少的空间。
易于插入和更新
我个人认为将原始HTML存储在数据库中是一种不好的做法,特别是当用户有可能进入开发人员工具并手动添加一些恶意内容时,这取决于它的实现,例如:
<ul>
<li>Something</li>
...
<script>alert("malicious code!");<script>
</ul>
不考虑安全风险,存储数据的更好方法是将无序列表中每个<li>
的textContent
(而不是innerHTML
)放入数组中并提交。