📄 admin_cat.asp
字号:
<!--#include file="conn.asp" -->
<!--#include file="inc/info.asp" -->
<!--#include file="inc/const.asp" -->
<%admheader
'=========================================================
'Copyright (C) 2003-2004 AspEase.Com. All rights reserved.
'Web: http://www.aspease.com
'Email: byhucn@126.com,lzz9812@163.com
'=========================================================
'
'FileName: admin_cat.asp
'Version:2.0
'UpdateTime: 2004-10-7 14:54:09
'Script Written by www.aspease.com
'=========================================================
call main()
admfooter
sub main()
response.Write("<table width=""95%"" border=""0"" cellspacing=""1"" cellpadding=""3"" align=center class=""tableBorder"">")
response.Write("<tr> ")
response.Write(" <th width=""100%"" class=""tableHeaderText"" colspan=2 height=25>分类管理 </th>")
response.Write("</tr>")
response.Write("<tr>")
response.Write("<td class=""row"" colspan=2>")
response.Write("<p><B>注意</B>:<BR>")
response.Write(" ①删除分类同时删除下属分类和其中数据! 操作时请要小心呀,记得先备份数据。<BR>")
response.Write(" ②如果选择<B>复位所有分类</B>,则所有分类都将作为一级分类(分类),这时您需要重新对各个分类进行归属的基本设置,<B>不要轻易使用该功能</B>,仅在做出了错误的设置而无法复原分类之间的关系和排序的时候使用")
response.Write("</td>")
response.Write("</tr>")
response.Write("<tr>")
response.Write("<td class=""row"">")
response.Write("<B>分类操作选项</B></td>")
response.Write("<td class=""row""><a href=""admin_cat.asp"">分类管理首页</a> | <a href=""admin_cat.asp?action=add"">新建拍卖分类</a> | <a href=""admin_cat.asp?action=orders"">一级分类排序</a> | <a href=""admin_cat.asp?action=catorders"">N级分类排序</a> | <a href=""admin_cat.asp?action=Restorecat"" onclick=""{if(confirm('复位所有分类将把所有分类恢复成为一级大分类,复位后要对所有分类重新进行归属的基本设置,请慎重操作,确定复位吗?')){return true;}return false;}"">复位所有分类</a>")
response.Write("</td>")
response.Write("</tr>")
response.Write("</table>")
response.Write("<p></p>")
select case Request("action")
case "add"
call add()
case "edit"
call edit()
case "savenew"
call savenew()
case "savedit"
call savedit()
case "del"
call del()
case "orders"
call orders()
case "updatorders"
call updateorders()
case "catorders"
call catorders()
case "updatcatorders"
call updatecatorders()
case "addclass"
call addclass()
case "saveclass"
call saveclass()
case "del1"
call del1()
case "Restorecat"
call Restorecat()
case else
call catinfo()
end select
end sub
sub catinfo()
Dim recat_Setting
response.Write("<table width=""95%"" cellspacing=""1"" cellpadding=""1"" align=center class=""tableBorder"">")
response.Write("<tr> ")
response.Write("<th width=""35%"" class=""tableHeaderText"" height=25>拍卖分类")
response.Write("</th>")
response.Write("<th width=""35%"" class=""tableHeaderText"" height=25>操作")
response.Write("</th>")
response.Write("</tr>")
sql="select * from cat order by rootid,orders"
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,1,1
do while not rs.eof
response.Write("<tr> ")
response.Write(" <td height=""25"" width=35% class=""row""> ")
if rs("depth")>0 then
for i=1 to rs("depth")
response.Write(" ")
next
end if
if rs("child")>0 then
response.Write("<img src=""images/plus.gif"">")
else
response.Write("<img src=""images/nofollow.gif"">")
end if
if rs("parentid")=0 then
end if
response.Write(rs("catname"))
if rs("child")>0 then
response.Write("(")
response.Write(rs("child"))
response.Write(")")
end if
response.Write(" </td>")
response.Write(" <td width=65% align=right class=""row""><a href=""admin_cat.asp?action=add&editid=")
response.Write(rs("catid"))
response.Write("""><U>添加分类</U></a> ")
response.Write(" | <a href=""admin_cat.asp?action=edit&editid=")
response.Write(rs("catid"))
response.Write("""><U>修改</U></a> ")
response.Write(" | <a href=""admin_delall.asp?action=delcat&catid=")
response.Write(rs("catid"))
response.Write(""" onclick=""{if(confirm('清空将包括该分类所有数据删除,确定清空吗?')){return true;}return false;}""><U>清空</U></a> ")
response.Write(" | ")
if rs("child")=0 then
response.Write("<a href=""admin_cat.asp?action=del&editid=")
response.Write(rs("catid"))
response.Write(""" onclick=""{if(confirm('删除将包括该分类的所有数据,确定删除吗?')){return true;}return false;}""><U>删除</U></a>")
else
response.Write("<a href=""#"" onclick=""{if(confirm('该分类含有下属分类,必须先删除其下属分类方能删除本分类!')){return true;}return false;}""><U>删除</U></a>")
end if
response.Write(" </td>")
response.Write("</tr>")
rs.movenext
loop
set rs=nothing
response.Write("</table><BR><BR>")
end sub
sub add()
dim rs_c
set rs_c= server.CreateObject("adodb.recordset")
sql = "select * from cat order by rootid,orders"
rs_c.open sql,conn,1,1
dim catnum
set rs = server.CreateObject ("Adodb.recordset")
sql="select Max(catid) from cat"
rs.open sql,conn,1,1
if rs.eof and rs.bof then
catnum=1
else
catnum=rs(0)+1
end if
if isnull(catnum) then catnum=1
rs.close
response.Write(" <table width=""95%"" border=""0"" cellspacing=""1"" cellpadding=""3"" align=center class=""tableBorder"">")
response.Write(" <form action =""admin_cat.asp?action=savenew"" method=post>")
response.Write("<input type=""hidden"" name=""newcatid"" value=")
response.Write(catnum)
response.Write(">")
response.Write(" <tr> ")
response.Write(" <th height=24 colspan=2><B>添加新分类</b></th>")
response.Write(" </tr>")
response.Write(" <tr> ")
response.Write(" <td width=""52%"" height=30 class=""row"">分类名称</td>")
response.Write(" <td width=""48%"" class=""row""> <input type=""text"" name=""catname"" size=""35""> ")
response.Write(" </td>")
response.Write(" </tr> ")
response.Write(" <tr> ")
response.Write(" <td width=""52%"" height=30 class=""row""><U>所属类别</U></td>")
response.Write(" <td width=""48%"" class=""row""> <select name=class>")
response.Write(" <option value=""0"">做为拍卖分类</option>")
response.Write(" ")
do while not rs_c.EOF
response.Write(" <option value=""")
response.Write(rs_c("catid"))
response.Write(""" ")
if request("editid")<>"" and clng(request("editid"))=rs_c("catid") then
response.Write("selected")
end if
response.Write("> ")
if rs_c("depth")>0 then
for i=1 to rs_c("depth")
response.Write(" - ")
next
end if
response.Write(rs_c("catname"))
response.Write("</option>")
rs_c.MoveNext
loop
rs_c.Close
response.Write(" </select> </td>")
response.Write(" </tr>")
response.Write(" <tr> ")
response.Write(" <td width=""52%"" height=24 class=""Row""> </td>")
response.Write(" <td width=""48%"" class=""Row""> <input type=""submit"" name=""Submit"" value=""添加分类""> ")
response.Write(" </td>")
response.Write(" </tr></form>")
response.Write(" </table>")
set rs_c=nothing
set rs=nothing
end sub
sub edit()
dim rs_c
sql = "select * from cat order by rootid,orders"
set rs_c=conn.execute(sql)
sql = "select * from cat where catid="&request("editid")
set rs=conn.execute(sql)
response.Write(" <table width=""95%"" border=""0"" cellspacing=""1"" cellpadding=""3"" align=center class=""tableBorder"">")
response.Write(" <form action =""admin_cat.asp?action=savedit"" method=post> ")
response.Write("<input type=""hidden"" name=editid value=""")
response.Write(Request("editid"))
response.Write("""> <tr> ")
response.Write(" <th height=24 colspan=2>编辑分类:")
response.Write(rs("catname"))
response.Write("</th>")
response.Write(" </tr>")
response.Write(" <tr> ")
response.Write(" <td width=""52%"" height=30 class=""row"">分类名称</td>")
response.Write(" <td width=""48%"" class=""row""> <input type=""text"" name=""catname"" size=""35"" value=""")
response.Write(rs("catname"))
response.Write("""> ")
response.Write(" </td>")
response.Write(" </tr>")
response.Write(" <tr> ")
response.Write(" <td width=""52%"" height=30 class=""row""><U>所属类别</U><BR>")
response.Write(" 所属分类不能指定为当前分类<BR>")
response.Write(" 所属分类不能指定为当前分类的下属分类</td>")
response.Write(" <td width=""48%"" class=""row""> <select name=class>")
response.Write(" <option value=""0"">做为拍卖分类</option>")
do while not rs_c.EOF
response.Write(" <option value=""")
response.Write(rs_c("catid"))
response.Write(""" ")
if cint(rs("parentid")) = rs_c("catid") then
response.Write(" selected ")
end if
response.Write(">")
if rs_c("depth")>0 then
for i=1 to rs_c("depth")
response.Write(" - ")
next
end if
response.Write(rs_c("catname"))
response.Write("</option>")
rs_c.MoveNext
loop
rs_c.Close
response.Write(" </select> </td>")
response.Write(" </tr>")
response.Write(" <tr> ")
response.Write(" <td width=""52%"" height=24 class=""row""> </td>")
response.Write(" <td width=""48%"" class=""row""> <input type=""submit"" name=""Submit"" value=""提交修改""> ")
response.Write(" </td>")
response.Write(" </tr></form>")
response.Write(" </table>")
rs.close
set rs=nothing
set rs_c=nothing
end sub
'保存添加分类信息
sub savenew()
if request("catname")="" then
Errmsg=Errmsg+"<br>"+"<li>请输入分类名称。"
Founderr=true
end if
if request("class")="" then
Errmsg=Errmsg+"<br>"+"<li>请选择拍卖分类。"
Founderr=true
end if
if founderr=true then
response.write Errmsg
exit sub
end if
dim catid
dim rootid
dim parentid
dim depth
dim orders
dim Fcatmaster
dim maxrootid
dim parentstr
if request("class")<>"0" then
set rs=conn.execute("select rootid,catid,depth,orders,ParentStr from cat where catid="&request("class"))
rootid=rs(0)
parentid=rs(1)
depth=rs(2)
orders=rs(3)
if depth+1>20 then
response.write "本分类限制最多只能有20级分类"
exit sub
end if
parentstr=rs(4)
else
set rs=conn.execute("select max(rootid) from cat")
maxrootid=rs(0)+1
if isnull(MaxRootID) then MaxRootID=1
end if
sql="select catid from cat where catid="&request("newcatid")
set rs=conn.execute(sql)
if not (rs.eof and rs.bof) then
response.write "您不能指定和别的分类一样的序号。"
exit sub
else
catid=request("newcatid")
end if
set rs = server.CreateObject ("adodb.recordset")
sql = "select * from cat"
rs.Open sql,conn,1,3
rs.AddNew
if request("class")<>"0" then
rs("depth")=depth+1
rs("rootid")=rootid
rs("orders") = Request.form("newcatid")
rs("parentid") = Request.Form("class")
if ParentStr="0" then
rs("ParentStr")=Request.Form("class")
else
rs("ParentStr")=ParentStr & "," & Request.Form("class")
end if
else
rs("depth")=0
rs("rootid")=maxrootid
rs("orders")=0
rs("parentid")=0
rs("child")=0
rs("parentstr")=0
end if
rs("catid") = Request.form("newcatid")
rs("catname") = Request.Form("catname")
rs.Update
rs.Close
if request("class")<>"0" then
if depth>0 then
'当上级分类深度大于0的时候要更新其父类(或父类的父类)的分类数和相关排序
for i=1 to depth
'更新其父类分类数
if parentid<>"" then
conn.execute("update cat set child=child+1 where catid="&parentid)
end if
'得到其父类的父类的分类ID
set rs=conn.execute("select parentid from cat where catid="&parentid)
if not (rs.eof and rs.bof) then
parentid=rs(0)
end if
'当循环次数大于1并且运行到最后一次循环的时候直接进行更新
if i=depth and parentid<>"" then
conn.execute("update cat set child=child+1 where catid="&parentid)
end if
next
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -