我想存储一些具有以下结构的文本数据:
1. Overall Text A
1.1 Subsection Text
1.1.1 Clarification A
1.1.2 Clarification B
1.2 Another Subsection
1.2.1 Don't forget A
1.2.2 Don't forget B
1.2.3 or C!
2. Overall Text B
2.1 getting the idea yet?
部分级别的范围从1(平坦)到4,但没有绝对最大值。每个项目至少有一个段落的文本。保留编号方案很重要。
我正在为网站使用MySQL和PHP,这涉及到我想添加的部分。如何最好地将这些数据和关系存储在RDBMS中,然后如何再次将它们取出并用PHP逻辑显示它们?
答案 0 :(得分:1)
创建表示层次结构的数据库结构很简单:
CREATE TABLE nodes (
node_id int NOT NULL,
parent_node_id int,
node_data varchar(100),
PRIMARY KEY node_id);
但是保持编号系统有点复杂 - 不过CSS can do this for you.
管理层次数据的另一种方法是here。
您可能还会发现phplm有用。
答案 1 :(得分:1)
嵌套集将为您提供以有效方式存储分层数据的好处。但是,使用它可能会有些麻烦。大多数时候,虽然结构简单,但它的表现却很好而且效率很高!
MySQL示例:http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/
我自己在几个项目中使用过这种方法,除了一些关于路径查找的麻烦之外,我没有抱怨。 :)