日期:2014-05-17  浏览次数:20950 次

问一个递归调用过程中的权限判断问题
只有30分了,请见谅
================================
表   category
字段   ID                 自动增量
          TEXT             名称
          PARENTID     上级ID

sort(0)
sub   sort(selec)
  sql= "select   *   from   category   where   parentid= "&selec
  set   rs=conn.execute(sql)
  do   while   not   rs.eof
      response.write   rs( "text ")& " <BR> "
      sort(rs( "id "))
  rs.movenext
  loop
end   sub

有一权限表,其中字段FLAG为NTEXT类型,存放表category的ID来作为权限类别。
现在要做一判断,凡是FLAG中有该ID的都显示出来,如果是一级分类的,则把该分类下所有的都显示,如果为二级分类,则把该类下所有的都显示,如果为三级分类,则显示该分类。

请注意,ID有可能是二级分类的ID,也有可能是三级的ID,请问如何在上边的调用中来判别该类别及该类别下的分类都显示出来?

------解决方案--------------------
sort(0)
sub sort(selec)
sql= "select * from category where parentid= "&selec& " and id in(select flag from 权限表) "
set rs=conn.execute(sql)
do while not rs.eof
response.write rs( "text ")& " <BR> "
sort(rs( "id "))
rs.movenext
loop
end sub