基于左右值的无限分类思想
时间:2007-12-11
来源:互联网
id(自然增长ID)
pid(父分类ID)
先查询出所有的分类,然后递归,计算层数,这种方法的缺点就是分类多的时侯,递归比较慢
另外一种在MYSQL官方网站上有推荐的一种方法就是基于左右值的
每增加一个分类,都有一个左值,一个右值
比如添加一个分类program
那么他的左值 右值就分别设定为 1 program 2
再在下面添加两个分类php,HTML就是
1 program 6
2 php 3 4 HTML 5
这里有详细的说明(虽然文字我们看不懂,但是代码和图示还是能看的 ^_^)
http://weblabor.hu/cikkek/hierarchikusadatkezeles2
这样做有什么好处?为什么这样做?
我们来看一下获取图示中的PHP这个分类的所有子分类sql语句
SELECT * FROM table WHERE Lft BEWTEEN 2 AND 11 ORDER BY Lft ASC
是不是很简单,剩下的就是我们需要处理层数
这样做的缺点也比较明显,就是添加或者编辑的时侯,相关分类的左值和右值都会变化,所以适用于那些不常改动分类的处理(我想,大部分分类都不用经常变更的吧,^_^)
完整代码下载

演示地址(在下载地址里面附有完整示例)
http://www.mengsa.cn/SortTest.php
本类未处理好的地方在于,编辑分类的时侯,不相关分类的左右值也有变化,但这不太影响适用,如果你修正了这个问题,请发一份源码给我 psdshow at yahoo.com.cn谢谢
作者: psdshow 发布时间: 2007-12-11
作者: 奇将射天狼 发布时间: 2007-12-11
对于显示和编辑。。
作者: thankwsx 发布时间: 2007-12-11
不过这个算法缺陷未免太大了吧,分类很容易就会改变的。
作者: 奇将射天狼 发布时间: 2007-12-11
作者: yzxh24 发布时间: 2007-12-11
[ 本帖最后由 T.T.R 于 2007-12-12 09:25 编辑 ]
作者: T.T.R 发布时间: 2007-12-12
引用:
原帖由 奇将射天狼 于 2007-12-11 17:26 发表这个思维方式很有意思!
不过这个算法缺陷未免太大了吧,分类很容易就会改变的。
但是如果经常需要更新或者修改分类就麻烦一点
优点在于查询数据库方面
[ 本帖最后由 psdshow 于 2007-12-12 18:29 编辑 ]
作者: psdshow 发布时间: 2007-12-12


作者: luzhou 发布时间: 2007-12-12
作者: aksoft 发布时间: 2007-12-28


用我的文本库好了!多级分类一个级别一个文件-_-
作者: MoHock 发布时间: 2007-12-28
作者: eisdl 发布时间: 2007-12-29
作者: kissweb 发布时间: 2008-02-16
作者: yagas 发布时间: 2008-02-26
学习了。3Q

作者: lxylxy888666 发布时间: 2008-03-01
作者: lxydyx 发布时间: 2008-03-21
作者: bit 发布时间: 2008-03-25
顶,研究研究

作者: luzhou 发布时间: 2008-03-25
再留个名
http://wolf.rorchina.net/ 狼盟编程论坛
http://bbs.rorchina.net/ RORCHINA中国社区门户
http://club.unix5.com/ UNIX开源世纪
作者: 会飞的猪 发布时间: 2008-03-25
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28