background image

------------------------------------------------------------ 
前面谈到分类的复杂性,因此如何规划数据库便成为了实现无限分类非常重要的一步. 

我曾介绍过论坛的数据库规划,不错论坛能够实现无限的跟接,无限分类便是这种形式的扩
展,分类同样是这种子父的关联关系,所以分类的数据库就是如何确立明确这种子父关系,这
里面有几个难点. 

1)如何处理各分类的信息存储; 
2)如何处理分类的亲缘关系; 
3)如何处理对信息的查询; 

亲缘关系的数据库处理与论坛的数据库处理类似,

 

这里建个 type 的数据库用来处理分类: 

建立字段: 
id(int):

 

用来记录各分类的自然序号

uid(int):

 

用来记录该分类的父分类的 id   

type(char):

 

类别的名称

roue_id(varchar):亲缘树,  

以 :0:2:10:20:   

的 id 

 

连接表明亲源关系

roue_char(varchar):亲缘树,

 

类似 :系统:linux:开发工具:gcc: (这个字段有没有都没关系,

为了更方便地了解各亲缘关系当然字符表述比数字表述更直接^o^,不过最好加上这个字
段) 

这样一个无限分类的类别表就建立了起来,接下来就需要建立存储信息的数据库,处理查询

 

一个表最方便所以这里建立一个表存储信息 type_message: 

id(int):信息的序号; 

typeid(int):

 

所属类别的 id 号; 

title(varchar):信息标题; 
message(text):信息内容; 
time:信息建立的时间; 

这两个数据表就能够完成无限分类的这个任务了(两个表的辅助字段就没加了,读者可自行
加入). 

 

剩下的任务就全部交由 php 来处理完成。

3.

 

程序控制

实现无限分类这个功能中就属这一步最为复杂辛苦,首先看看程序需要完成的步骤: 

1)创建分类上传; 
2)创建信息上传; 
3)明确显示各分类及其之间的关系;