如何在MySQL数据库中保存HTML表 - 这样做的有效方法是什么?

时间:2013-10-17 14:54:17

标签: php html mysql sql

我有一个带有html表的php网站。用户能够修改每个包含的单元格(非常类似于Excel),例如,改变它的内容或字体大小。我目前的方法是将这些单元格保存为一对多关系:一个用于不同表的mysql表和一个带有单元格的mysql表。对于每个“表对象”,分配了几个“单元对象”。我现在遇到的问题是,这会产生很多db查询(保存或打开一个表时大约2200,每个单元一个)。我认为这真的太多了,不是吗(或者至少不是很好的练习方式)?

任何人都可以给我一个提示,我可以通过其他方式实现这个目标吗?或者这样就好了吗?

提前致谢,

katze_sonne

2 个答案:

答案 0 :(得分:1)

您可能会将所有单元格数据收集到分为行的多维单元格数组中:

$table = array(
    array(0, 1, 2, 3, 4, 5),
    array(0, 1, 2, 3, 4, 5),
    array(0, 1, 2, 3, 4, 5)
);

然后使用PHP serialize()序列化整个数组,并将其保存在单个MySQL TEXT字段中。

当您从数据库中读取时,您只需unserialize()该字段,它就会恢复为正常的PHP数组,您可以循环并打印出该表。

答案 1 :(得分:0)

您可以考虑将数据序列化为以下格式之一,然后再将其发送到数据库进行存储

  1. YAML
  2. JS​​ON
  3. XML
  4. 所有这些都是机器可读的纯文本格式。因此,您可以在重新执行后将它们转换回代码中的对象