个人博客,存放我个人的随笔,我常用的程序源码,分享软件等。
1 Apr
栏目表:zl_columns(这是mssql写的,字段就是这些,如果使用access数据库,可以把类型修改成access的类型)
col_id int (access:自动编号) 栏目编号(主键)
col_name varchar(access:文本(50)) 栏目名称
col_type_id int (access:数字) 栏目类别编号
col_order int (access:数字) 栏目排序(默认为0)
col_target varchar(10) (access:文本(5)) 栏目打开方式(_self:自身窗口_blank:新窗口)
col_link varchar(50) (access:文本(25)) 栏目外部链接
<%
'=================================================
'作用: ASP无限级循环目录
'作者: 飘逸的风
'版本: vesion1.1
'修改时间: 02/20/2009
'=================================================
'<!-- # Include File="conn.asp" -->
%>
<%
'=================================================
'获取目录的名称
'Response.Write ColumnsNameFun(1)
'=================================================
Function ColumnsNameFun(ID)
If IsNull(ID) Then Exit Function
Set RsTreeName=Server.CreateObject("ADODB.RecordSet")
SqlTreeName="SELECT col_id,col_name FROM zl_columns WHERE col_id="&ID
RsTreeName.Open SqlTreeName,Conn,1,1
If Not (RsTreeName.Eof And RsTreeName.Bof) Then
ColumnsNameFun=RsTreeName("col_name")
End If
RsTreeName.Close
Set RsTreeName=Nothing
End Function
'----------------------------------------------------------------------------------------
'=================================================
'循环顶级目录列表
'Response.Write ColumnsTop("")
'Function ColumnsTop()
' Set Rs=Server.CreateObject("ADODB.RecordSet")
' Sql="SELECT * FROM zl_columns WHERE col_type_id=0 ORDER BY col_order ASC"
' Rs.Open Sql,Conn,1,1
' For i=1 To Rs.RecordCount
' If Rs.Eof Then Exit For
' Response.Write Rs("col_name")&"<br />"&chr(10)
' Call ColumnsNext(Rs("col_id")," |-") '调用子栏目
' Rs.MoveNext
' Next
' Rs.Close
' Set Rs=Nothing
'End Function
'=================================================
Function ColumnsTop()
Set Rs=Server.CreateObject("ADODB.RecordSet")
Sql="SELECT * FROM zl_columns WHERE col_type_id=0 ORDER BY col_order ASC"
Rs.Open Sql,Conn,1,1
For i=1 To Rs.RecordCount
%>
<tr bgcolor="#E7EDFC" onMouseOver="this.style.backgroundColor='#EAFCD5';this.style.color='red';" onMouseOut="this.style.backgroundColor='';this.style.color='';">
<td height="25" class="right_table_right_pad"><%=i%>、<%=Rs("col_name")%><%If Rs("col_link")<>"" Then Response.Write " <span style='font-weight:bold; color:#1476B2'>[外]</span>"%></td>
<td width="80" align="center" class="right_table_title">
<%
If Rs("col_target")="_self" Then Response.Write "本窗口"
If Rs("col_target")="_blank" Then Response.Write "新窗口"
%>
</td>
<td align="center">0</td>
<td align="center"><a href="<%=Web_PathInfo%>?action=editclass&ClassID=<%=Rs("col_id")%>">修改</a> <a href="<%=Web_PathInfo%>?action=delclass&ClassID=<%=Rs("col_id")%>" onclick="return confirm('您确定要删除吗?\r\r此操作将删除该类别下的所有信息!\r\r请谨慎操作,删除后不可恢复!');">删除</a></td>
<td align="center">
<input name="ClassNum" type="text" id="ClassNum" size="6" value="<%=Rs("col_order")%>">
<input name="ID" type="hidden" id="ID" size="6" value="<%=Rs("col_id")%>">
</td>
</tr>
<%
Call ColumnsNext(Rs("col_id")," |-") '调用子栏目
Rs.MoveNext
Next
Rs.Close
Set Rs=Nothing
End Function
'=================================================
'循环子目录
'Function ColumnsNext(ID,Str)
' Set RsNext=Server.CreateObject("ADODB.RecordSet")
' SqlNext="SELECT * FROM zl_columns WHERE col_type_id="&ID&" ORDER BY col_order ASC"
' RsNext.Open SqlNext,Conn,1,1
' For i=1 To RsNext.RecordCount
' If RsNext.Eof Then Exit For
' Response.Write Str&i&"、"&RsNext("col_name")&"<br />"&chr(10)
' Call ColumnsNext(RsNext("col_id")," "&Str) '函数调用
' RsNext.MoveNext
' Next
' RsNext.Close
' Set RsNext=Nothing
'End Function
'=================================================
Function ColumnsNext(ID,Str)
Set RsNext=Server.CreateObject("ADODB.RecordSet")
SqlNext="SELECT * FROM zl_columns WHERE col_type_id="&ID&" ORDER BY col_order ASC,col_id Desc"
RsNext.Open SqlNext,Conn,1,1
For i=1 To RsNext.RecordCount
%>
<tr bgcolor="#E7EDFC" onMouseOver="this.style.backgroundColor='#EAFCD5';this.style.color='red';" onMouseOut="this.style.backgroundColor='';this.style.color='';">
<td height="25" class="right_table_right_pad"><%=Str&" "&i%>、<%=RsNext("col_name")%><%If RsNext("col_link")<>"" Then Response.Write " <span style='font-weight:bold; color:#1476B2'>[外]</span>"%></td>
<td width="80" align="center" class="right_table_title">
<%
If RsNext("col_target")="_self" Then Response.Write "本窗口"
If RsNext("col_target")="_blank" Then Response.Write "新窗口"
%>
</td>
<td align="center">0</td>
<td align="center"><a href="<%=Web_PathInfo%>?action=editclass&ClassID=<%=RsNext("col_id")%>">修改</a> <a href="<%=Web_PathInfo%>?action=delclass&ClassID=<%=RsNext("col_id")%>" onclick="return confirm('您确定要删除吗?\r\r此操作将删除该类别下的所有信息!\r\r请谨慎操作,删除后不可恢复!');">删除</a></td>
<td align="center">
<input name="ClassNum" type="text" id="ClassNum" size="6" value="<%=RsNext("col_order")%>">
<input name="ID" type="hidden" id="ID" size="6" value="<%=RsNext("col_id")%>">
</td>
</tr>
<%
Call ColumnsNext(RsNext("col_id")," "&Str) '函数调用
RsNext.MoveNext
Next
RsNext.Close
Set RsNext=Nothing
End Function
'----------------------------------------------------------------------------------------
'----------------------------------------------------------------------------------------
'=================================================
'循环顶级目录下拉列表
'Response.Write OptionColumnsTop("")
'Response.Write OptionColumnsTop(3)
'ColID 目录编号
'=================================================
Function OptionColumnsTop(ColID)
Response.Write "<select name='pro_type_id' id='pro_type_id' class='input'>"&chr(10)&"<option value='-1'>请选择……</option>"&chr(10)
Set Rs=Server.CreateObject("ADODB.RecordSet")
Sql="SELECT * FROM zl_columns WHERE col_type_id=0 ORDER BY col_order ASC,col_id Desc"
Rs.Open Sql,Conn,1,1
For i=1 To Rs.RecordCount
If Rs.Eof Then Exit For
If ColID=Rs("col_id") Then
selected="selected"
Else
selected=""
End If
Response.Write "<option value="""&Rs("col_id")&""" "&selected&">"&Rs("col_name")&"</option>"&chr(10)
Call OptionColumnsNext(Rs("col_id"),ColID," |-") '调用子栏目
Rs.MoveNext
Next
Rs.Close
Set Rs=Nothing
Response.Write "</select>"&chr(10)
End Function
'----------------------------------------------------------------------------------------
'=================================================
'循环顶级目录下拉列表(针对搜索)
'Response.Write OptionColumnsTop("")
'Response.Write OptionColumnsTop(3)
'ColID 目录编号
'=================================================
Function SearchOptionColumnsTop(ColID)
Response.Write "<select name='pro_type_id' id='pro_type_id' class='input'>"&chr(10)&"<option value='0'>全部类别</option>"&chr(10)
Set Rs=Server.CreateObject("ADODB.RecordSet")
Sql="SELECT * FROM zl_columns WHERE col_type_id=0 ORDER BY col_order ASC,col_id Desc"
Rs.Open Sql,Conn,1,1
For i=1 To Rs.RecordCount
If Rs.Eof Then Exit For
If ColID=Rs("col_id") Then
selected="selected"
Else
selected=""
End If
Response.Write "<option value="""&Rs("col_id")&""" "&selected&">"&Rs("col_name")&"</option>"&chr(10)
Call OptionColumnsNext(Rs("col_id"),ColID," |-") '调用子栏目
Rs.MoveNext
Next
Rs.Close
Set Rs=Nothing
Response.Write "</select>"&chr(10)
End Function
'----------------------------------------------------------------------------------------
'=================================================
'循环顶级目录下拉列表
'Response.Write OptionColumnsTop("")
'Response.Write OptionColumnsTop(3)
'ColID 目录编号
'=================================================
Function OptionColumnsTop(ColID)
Response.Write "<select name='pro_type_id' id='pro_type_id' class='input'>"&chr(10)&"<option value='-1'>请选择……</option>"&chr(10)
Set Rs=Server.CreateObject("ADODB.RecordSet")
Sql="SELECT * FROM zl_columns WHERE col_type_id=0 ORDER BY col_order ASC,col_id Desc"
Rs.Open Sql,Conn,1,1
For i=1 To Rs.RecordCount
If Rs.Eof Then Exit For
If ColID=Rs("col_id") Then
selected="selected"
Else
selected=""
End If
Response.Write "<option value="""&Rs("col_id")&""" "&selected&">"&Rs("col_name")&"</option>"&chr(10)
Call OptionColumnsNext(Rs("col_id"),ColID," |-") '调用子栏目
Rs.MoveNext
Next
Rs.Close
Set Rs=Nothing
Response.Write "</select>"&chr(10)
End Function
'=================================================
'循环顶级目录下拉列表(添加和修改时用)
'Response.Write OptionColumnsTop("")
'Response.Write OptionColumnsTop(3)
'ColID 目录类别编号
'=================================================
Function EditOptionColumnsTop(ColID)
Response.Write "<select name='col_type_id' id='col_type_id'>"&chr(10)&"<option value='0'>作为一级栏目</option>"&chr(10)
Set Rs=Server.CreateObject("ADODB.RecordSet")
Sql="SELECT * FROM zl_columns WHERE col_type_id=0 ORDER BY col_order ASC,col_id Desc"
Rs.Open Sql,Conn,1,1
For i=1 To Rs.RecordCount
If Rs.Eof Then Exit For
If ColID=Rs("col_id") Then
selected="selected"
Else
selected=""
End If
Response.Write "<option value="""&Rs("col_id")&""" "&selected&">"&Rs("col_name")&"</option>"&chr(10)
Call OptionColumnsNext(Rs("col_id"),ColID," |-") '调用子栏目
Rs.MoveNext
Next
Rs.Close
Set Rs=Nothing
Response.Write "</select>"&chr(10)
End Function
'=================================================
'循环子目录下拉列表
'=================================================
Function OptionColumnsNext(ID,ColID,Str)
Set RsNext=Server.CreateObject("ADODB.RecordSet")
SqlNext="SELECT * FROM zl_columns WHERE col_type_id="&ID&" ORDER BY col_order ASC,col_id Desc"
RsNext.Open SqlNext,Conn,1,1
For i=1 To RsNext.RecordCount
If RsNext.Eof Then Exit For
If ColID=RsNext("col_id") Then
selected="selected"
Else
selected=""
End If
Response.Write "<option value="""&RsNext("col_id")&""" "&selected&">"&Str&RsNext("col_name")&"</option>"&chr(10)
Call OptionColumnsNext(RsNext("col_id"),ColID," "&Str) '递归调用
RsNext.MoveNext
Next
RsNext.Close
Set RsNext=Nothing
End Function
'----------------------------------------------------------------------------------------
%>
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。