用ASP实现无限级别栏目导航条

网络整理 - 09-01
数据库TableLanMu表的结构

 字段 描述

 T_LanMuId 栏目编号,主键,自动编号。如12

 T_LanMuName 栏目名称。如“新闻动态”

 T_FartherLanMu 父栏目的编号。如12。0代表是一级栏目。

最终的显示效果如下:

代码片段

<%
'获取栏目编号
LanMuId=request.QueryString("LanMuId")
%>
<a href="/show.asp">栏目首页</a>
<%
'如果栏目编号不为空,则显示务级导航条
if LanMuId<>"" then
 '当前栏目的编号给NowLanMu
 NowLanMu=LanMuId
 '循环显示各级栏目
 Do while(true)
  set rs=server.CreateObject("adodb.recordset")
  rs.open "select * from TableLanMu where T_LanMuId="&NowLanMu&"",con,1,1
  if rs.recordcount>0 then
   '先把当前栏目名称(和链接)赋给Menu
   Menu=">><a href="/Show.asp?LanMuId="&rs("T_LanMuId")&"'>"&rs("T_LanMuName")&"</a>"&Menu
   
   '如果当前栏目的父栏目是一级目录,退出循环,如果不是一级栏目,就把父栏目的编号赋给NowLanMu作为当前目录并继续循环
   if rs("T_FartherLanMu")=0 then
    exit do
   else
    NowLanMu=rs("T_FartherLanMu")
   end if

  end if
  rs.close
  set rs=nothing
 Loop
 response.Write(Menu)
end if
%>