长期饭票

大家好,请喊我序员!
QQ:15838986
posts - 124, comments - 22, trackbacks - 0, articles - 0
  首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2012年6月26日

摘要:作者:Alex.Chan | 出处:博客园 | 2011/10/29 11:14:15 | 阅读28次 无论是互动性质的论坛系统还是CMS,商城,多级的分类实现是必要的。写个简单的多级分类实现数据库设计:ID (int)| Name(varchar(20))| ParentID(int)| Path(varchar(1000)递归形式的数据库设计,Path主要是用来记录分类的路径,用于查找某一分类下的子孙分类等。基本的功能都用存储过程来实现1.在某一节点下增加子节点CodeCode highlighting produced by Actipro CodeHighlighter (freew. 阅读全文

posted @ 2012-06-26 17:38 Baode 阅读(706) 评论(0) 推荐(0) 编辑

摘要:一、前言 很多情况下二级分类已经不能满足需要了,而网上可用的多级分类的例子实在是不好找,故有此文。http://bbs.blueidea.com/viewthread.php?tid=1182243大家可以先看这个,它介绍了一种超级好的算法,反正我是看不大懂呀。二、我们要解决的问题:1、 分类算法常常表现为树的表示和遍历问题。那么,请问:如果用数据库中的一个Table来表达树型分类,应该有几个字段?2、 如何快速地从这个Table恢复出一棵树;3、 如何判断某个分类是否是另一个分类的子类;4、 如何查找某个分类的所有产品;5、 如何生成分类所在的路径。6、 如何新增分类;三、递归实现的优点与. 阅读全文

posted @ 2012-06-26 17:35 Baode 阅读(261) 评论(0) 推荐(0) 编辑

摘要:第一种方案: 使用递归算法,也是使用频率最多的,大部分开源程序也是这么处理,不过一般都只用到四级分类。这种算法的数据库结构设计最为简单。category表中一个字段id,一个字段fid(父id)。这样可以根据WHERE id = fid来判断上一级内容,运用递归至最顶层。 分析:通过这种数据库设计出的无限级,可以说读取的时候相当费劲,所以大部分的程序最多3-4级分类,这就足以满足需求,从而一次性读出所有的数据,再对得到数组或者对象进行递归。本身负荷还是没太大问题。但是如果分类到更多级,那是不可取的办法。 这样看来这种分类有个好处,就是增删改的时候轻松了…然而就二级分类而言,采用这种算法... 阅读全文

posted @ 2012-06-26 17:33 Baode 阅读(255) 评论(1) 推荐(0) 编辑