论坛首页 综合技术论坛

无限分级菜单之嵌套模型

浏览 2382 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-09-21  

       最近写项目,要写一个用户角色权限框架,特意研究了菜单的无限分级。比较推崇这一种方式,希望能给很多正在彷徨的同学一些帮助。

        数据表:Category

        category_id   int   pk

        name varchar(20)

        lft int

        rit int 

       嵌套模型就是把本来是树形的数据变为嵌套的数据,并从左到右进行编号每个元素编一个左一个右。

        以下是一些常用的查找sql语句

     查找整个树

     Select node.name From category as node,category as parent

     Where node.lft between parent.lft and parent.rit

     and parent.name = '根节点的名字'

        order by node.lft

       检索所有的叶子节点

       Select name from category

     where lft=rit+1

       检索一个节点以下所有的节点

        Select node.name from category as node,category as parent

     where node.lft between parent.lft and parent.rit

     and parent.name='节点的名字'

        order by node.lft

       检索节点的深度

       Select node.name from category,(Count(parent.name)-1) As depth

     from category as node

     category as parent

     where node.lft between parent.lft and parent.rit

     group by node.name

     order by node.lft

       (Contact(Repeat(' ',Count(parent.name)-1),node,name))//可以用这个查询实现缩进

 

 

 

 

 

 

 

 

 

 

 

 

论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics