------------------------------------------------------------
前面谈到分类的复杂性,因此如何规划数据库便成为了实现无限分类非常重要的一步.
我曾介绍过论坛的数据库规划,不错论坛能够实现无限的跟接,无限分类便是这种形式的扩
展,分类同样是这种子父的关联关系,所以分类的数据库就是如何确立明确这种子父关系,这
里面有几个难点.
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)明确显示各分类及其之间的关系;