将msg记录的父子层次结构保存到mysql中?

时间:2010-11-29 10:10:13

标签: php mysql hierarchical-data html-lists

如何将消息数据存储到数据库中,以便将其作为无序列表中的父子节点打印出来?每个根节点可以有2个子节点(深度),即像祖父,父亲和&儿童。 e.g。

 -vehicle
   -public
     -Lorry //Lorry is lost node for root vehicle,           

我当前存储的关于msg的字段是ID(PK),name,msg,msg_id(唯一)。我想,如果每个记录都有一个'父'字段,该字段将包含它所属的记录的'msg_id'。然后,此信息可用于检索所有父母和&父母的所有子节点。然后,这些可以在无序列表中的父子层次结构中打印。

1 个答案:

答案 0 :(得分:0)

对于每个节点(数据库中的行),存储对父节点的引用。

示例:

| name    | id      | parent_id
------------------------------
| vehicle | 1       | null
| public  | 2       | 1
| Lorry   | 3       | 2

这是最简单,最直接的方法。