用asp访问数据库显示多级菜单(源码已提供)

结合jQuery多级下拉菜单实例http://www.codefans.net/jscss/code/2854.shtml,用以上数据库布局,怎样实现多级菜单数据库中循环... 结合jQuery多级下拉菜单实例http://www.codefans.net/jscss/code/2854.shtml,用以上数据库布局,怎样实现多级菜单数据库中循环读取显示呢?
parentID为NULL表示一级菜单;
parentID后四位3016的是id后四位3016的二级菜单;
parentID后四位3019的是id后四位3019的二级菜单,id后四位3016的三级菜单。

不管用哪个语言从数据库中读取,怎样展示才能达到我预期的目的呢,请大家帮帮忙。新手跪求。
展开
 我来答
dbcnnet
2013-12-16 · TA获得超过204个赞
知道小有建树答主
回答量:575
采纳率:50%
帮助的人:424万
展开全部

可以使用递归方式来取

Sub getmenu(fid)
    m=m+1
    Set rss=server.CreateObject("adodb.recordset")
    sql="select id,departmenetName,parrentId,danweiId,idx from menuname where parentId='"&fid&"' order by id asc"
    rss.open sql,conn,1,1
    if not rss.eof then
      do while not rss.eof
      c_id=rss("id")
      c_name=rss("departmenetName")
      if m=1 then   '第一级菜单,这里为了突出显示给菜单前加空格和特殊字符,如不需要可不用判断m的值
       c_t=""
      elseif m=2 then  '第二级菜单
       c_t="  ¦⋅⋅"
      elseif m=3 then  '第三级菜单
       c_t="        ¦⋅⋅"
      elseif m=4 then  '第四级菜单
       c_t="            ¦⋅⋅"
      else
       c_t=""
      end if
      response.write("<option value='"&c_id&"'>"&c_t&""&c_name&"</option>")
      call getmenu(c_id)
      m=m-1
      rss.movenext:loop
    end if
End Sub

不用m的判断可以显示无限级,每次取出往后空一行,有多少显示多少,测试只是为了在select中突出显示,所以特别判断是哪一级

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式