精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-06-16
我要做的是一个菜单的排序问题 id fatherId menuPath number 107 1 /107 38 108 107 /107/108 2 109 107 /107/109 1 110 109 /107/109/110 5 111 109 /107/109/111 4 112 1 /112 23 113 112 /112/113 2 114 112 /112/114 1 115 114 /112/114/115 9 116 114 /112/114/116 8 我要实现的是先按menuPath分组 /107开头的是一组 /112开头的又是一组 fatherId是1的话代表是父菜单 父和父之间要排序(number38和number23)....最后父菜单下面的子菜单也要排序 按字段number排序 如下是107的子菜单 108 107 /107/108 2 109 107 /107/109 1 (我的菜单可以是无限级的 108和109的父菜单是107 113和114的父菜单是112 110和111的父菜单是109 115和116的父菜单114) 最后实现后的效果需要这个 id fatherId menuPath number 112 1 /112 23 (一级父菜单) 114 112 /112/114 1 (一级下的子菜单,也可以是二级父菜单) 116 114 /112/114/116 8 (二级父菜单下的子菜单) 115 114 /112/114/115 9 (二级父菜单下的子菜单) 113 112 /112/113 2 (一级下的子菜单,也可以是二级父菜单) 107 1 /107 38 (一级父菜单) 109 107 /107/109 1 (一级下的子菜单,也可以是二级父菜单) 111 109 /107/109/111 4 (二级父菜单下的子菜单) 110 109 /107/109/110 5 (二级父菜单下的子菜单) 108 107 /107/108 2 (一级下的子菜单,也可以是二级父菜单) 说的够详细了吧..大家吧 我脑袋都要爆炸了.可以随便增加字段 不管什么方法只要能实现就OK了嘿嘿 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-06-16
晕,中间怎么空了一行!~
|
|
返回顶楼 | |
发表时间:2007-06-16
我觉得你的menupath列的值是不是有点问题?
我说说我的看法哈,我不一定说得对哦^^ id fatherid menupath number 107 1 107 38 108 107 108 2 109 107 109 1 110 109 110 5 111 109 111 4 112 1 112 23 113 112 113 2 114 112 114 1 115 114 115 9 116 114 116 8 这样不是很好吗?为什么menupath列还要加上它的路径呢?在fatherid中已经指明了当前菜单的父菜单是那个了,只要fatherid这一列值相等,则说明它们是同一个父菜单的子菜单了,而menupath则表明子菜单的名字, 这样纯数字的分组排序应该好做吧.... |
|
返回顶楼 | |
发表时间:2007-06-16
zkgale 写道 我觉得你的menupath列的值是不是有点问题?
但是像你这样的话排序就有问题了呀,id是主键 ..像现在最大ID是116,,我这时想插入一条107的子菜单..那ID就是117 我排序时候是要显示在111后面的,,因为是同一组的..这样怎么排序呢
我说说我的看法哈,我不一定说得对哦^^ id fatherid menupath number 107 1 107 38 108 107 108 2 109 107 109 1 110 109 110 5 111 109 111 4 112 1 112 23 113 112 113 2 114 112 114 1 115 114 115 9 116 114 116 8 这样不是很好吗?为什么menupath列还要加上它的路径呢?在fatherid中已经指明了当前菜单的父菜单是那个了,只要fatherid这一列值相等,则说明它们是同一个父菜单的子菜单了,而menupath则表明子菜单的名字, 这样纯数字的分组排序应该好做吧.... |
|
返回顶楼 | |
发表时间:2007-06-16
可怜啊..怎么人都没有啊
|
|
返回顶楼 | |
发表时间:2007-06-17
这是在知道一共有几级目录下的用法
在不知道时我只能用存储过程来写了。 PS:为什么不在程序里写?又不是很多一次读入内存也受的了 id fatherId menuPath number 107 1 001070000000000 38 108 107 001070010800000 2 109 107 001070010900000 1 110 109 001070010900110 5 111 109 001070010900111 4 112 1 001120000000000 23 113 112 001120011300000 2 114 112 001120011400000 1 115 114 001120011400115 9 116 114 001120011400116 8 |
|
返回顶楼 | |
发表时间:2007-06-17
直接按menuPath排序不行吗?结果应该是这样的:
# 112 1 /112 23 (一级父菜单) # 113 112 /112/113 2 (一级下的子菜单,也可以是二级父菜单) # 114 112 /112/114 1 (一级下的子菜单,也可以是二级父菜单) # 116 114 /112/114/116 8 (二级父菜单下的子菜单) # 115 114 /112/114/115 9 (二级父菜单下的子菜单) # # 107 1 /107 38 (一级父菜单) # 108 107 /107/108 2 (一级下的子菜单,也可以是二级父菜单) # 109 107 /107/109 1 (一级下的子菜单,也可以是二级父菜单) # 111 109 /107/109/111 4 (二级父菜单下的子菜单) # 110 109 /107/109/110 5 (二级父菜单下的子菜单) |
|
返回顶楼 | |
发表时间:2007-06-18
TO qiezi :如果我按menupath排序后 那number这个字段就排序不了啊..因为我的排序是可以自定义的啊.用户要修改的呢
|
|
返回顶楼 | |
发表时间:2007-06-18
to 抛出异常的爱 : 用存储过程怎么写..目的就是把数据按树形结构查询出来..这个没问题..问题就是排序,各个同级别菜单之间要排序..而且排序的那个number字段用户是要修改的.因为可以自定义顺序嘛!嘿嘿..大家拉
|
|
返回顶楼 | |
发表时间:2007-06-18
junjie314 写道 to 抛出异常的爱 : 用存储过程怎么写..目的就是把数据按树形结构查询出来..这个没问题..问题就是排序,各个同级别菜单之间要排序..而且排序的那个number字段用户是要修改的.因为可以自定义顺序嘛!嘿嘿..大家拉 加列,叫父目录名,把menupdate那列中的终级子目录去掉,成为一个只有父目录的地图 之后 父目录名与muber一起排序就应该可以了 |
|
返回顶楼 | |