【发布时间】:2013-06-22 14:11:50
【问题描述】:
我有这个自定义标签结构:
<warehouse>
<frontbay>
</frontbay>
<bayrow>
<bay>
</bay>
<bay>
</bay>
<bay>
</bay>
<bay>
</bay>
<bay>
</bay>
<bay>
</bay>
</bayrow>
<aisle>
</aisle>
<bayrow>
...more bays...
</bayrow>
<aisle>
</aisle>
</warehouse>
将<bayrow>s 中的<bay>s 放入列表中的最佳方法是什么,从第一个开始并捕获所有到最后一个,从MySQL 数据库传递数据?
- 托架及其在 MySQL 表上的相应行将始终保持不变。
- 本质上,它应该直接链接到我的主要自动增量 Bay。所以元素中的bay 1是'BayNumber'列的第一行。
- 如果以后我想让 BayNumber:1 从不同的元素开始 - 不一定是结构中的第一个元素,以下哪种方法最好?
考虑到以上以及为了速度的目的,最好是:
给每个托架自己的
ID?直接在每个托架内编写指向其在 MySQL 表中的位置的代码?
-
编写一个脚本来编译一个托架列表,并将表格行一一传递给列表中的每个元素?
- 如果是脚本,你会推荐使用 JS 或 PHP 来获取列表吗? (我是 PHP 新手,但我知道一些 Javascript 和 jQuery)
我可能完全错过了一个更好的方法来做到这一点,例如将元素的引用放在 MySQL 表中或类似的东西,所以请告诉我填充自定义的最佳行动方案来自 MySQL 表的 XML 结构逐行。
【问题讨论】:
-
你的目标不明确。如果数据库中的数据发生变化,只需重新生成您的 XML 数据,还是我遗漏了什么?
-
@YaK XML 是一个静态模板,它不依赖于 MySQL 中的内容,这些托架总是在同一个地方,但它们并不总是在其中,所以没有意义每次都动态生成XML,有吗?
-
我认为您将花费更多 (CPU) 时间来加载 XML 文件、查找
<bay>、插入数据,而不是只生成整个文件。即使没有,浪费的时间也将是微不足道的。真的,您应该重建整个文件。如果 XML 文件的其他不可变部分比较大,只需重建整个<bayrow>部分。但不要打扰“四处走动”标签。恕我直言,这是不值得的,除非最终的 XML 文件是 huge(几兆字节),并且只有很小的一部分是可变的。 -
@YaK 最少 900 个,最多 2500 个托架
-
这是 YaK 重建整个文件的好建议。例如,如果您的生成代码中有错误,重建整个文件将使该过程更易于管理,因此您可以在这里更好地重现和修复错误。 XML 只是数据的序列化。
标签: php javascript mysql xml