需要使用php / mysql为自定义LMS构建N级树结构菜单

时间:2011-10-13 11:33:13

标签: php mysql dynamic treeview

任何正文都可以帮助我索引父子层次结构菜单,如

基本上,我创造了一个个人的lms。

Main (K-12,NCERT)
->Class (Class 3,Class 4,Class 5)
->Subject (Physics,Chemistry)
->Units (Unit 1,Unit 2)
->Chapter (Chap 1, Chap 2)
->Topic (Topic 1, Topic 2)
->Sub Topic (Sub Top 1, Sub Top 2)
->Sub Sub Topic (Sub Sub Top 1, Sub Sub Top 2)

每个主题都有自己的标题和内容(文本,s​​wf,质量检查状态)


- NCERT   
       Class 5   
       Class 6
       Class 6_Physics
         Class 6_Physics_Unit 4
           Class 6_Physics_Unit 4_Chapter 1
           Class 6_Physics_Unit 4_Chapter 2
             Class 6_Physics_Unit 4_Chapter 2_Topic 1
             Class 6_Physics_Unit 4_Chapter 2_Topic 2
             Class 6_Physics_Unit 4_Chapter 2_Topic 3
                --Class 6_Physics_Unit 4_Chapter 2_Topic 3_Sub Topic 1
             Class 6_Physics_Unit 4_Chapter 2_Topic 4
           Chapter 3
         Unit 5
       Class 6_Chemistry
       Class 6_Biology   Class 7   Class 8
       Class 8_Physics
         Class 8_Physics_Unit 1
       Class 8_ Chemistry
       Class 8_Biology
         Class 8_Biology_Unit 4
         Class 8_Biology_Unit 5

1
2
3
3.1
3.1.1
3.1.1.1
3.1.1.1.1
3.2
3.3
4
5
...
...
n

由于 Seyed

1 个答案:

答案 0 :(得分:1)

如果您询问最佳数据库架构,请创建一个主题表,如下所示:

|COLUMN NAME    |DATA TYPE
|---------------|-----------------------------------------------------
|id             | unsigned int, auto-increment, Primary Key, not null
|parent_id      | unsigned int, not null
|title          | varchar(size-as-appropriate)
| ...           |  ... and so on

因此每条记录都有一个唯一的id。如果parent_id0,则它是顶级项目,否则它是id等于给定parent_id的任何记录的子项。

查找孩子/父母的查询应该很容易理解。

如果您想将MySQL用于严肃的事情,那么我建议您对关系数据库设计和normalization进行一些研究。