ASP编程:利用asp分离数据库完成不限级数的弹出菜...
我想详细了解ASP整站代码与PSP整站代码有什么优缺点,那个更好,更安全,更用容易维护,和管理。。。菜单|数据|数据库<!--#includevirtual=Include/database.asp--><%
setrs=Server.CreateObject("ADODB.RecordSet")
sql="SELECTmenu_name,menu_link,menu_bgcolor,menu_color,idFROMenter_individualWHERE(parent_id=(SELECTidFROMenter_individualWHEREmenu_flag=root))"查询失掉根节点
rs.Opensql,conn,1,1
Response.Write"<tablewidth=100%border=0cellspacing=1cellpadding=0align=center><trbgcolor=#3399CCvalign=bottomalign=center>"
sumnum=rs.RecordCount
myArray=rs.GetRows()
rs.Close()
widd=780/sumnum从一级子菜双数目判别弹出菜单x坐标的递增像素
dimi
i=0
defaultbgcolor="#3399cc"指定默许底色
defaultcolor="#ffffff"指定默许字体色彩
defaultlink="#"指定默许链接
posit_x=0x地位
flag=1标记,作为菜单弹出偏向1暗示向右,0暗示向左
Response.WritemyArray(4,6)
whileiResponse.Write"<tdheight=20bgcolor="&myArray(2,i)&"width="&widd&"><ahref="&myArray(1,i)&"onmou搜索引擎优化ver=javascript:a"&myArray(4,i)&".style.display=blockonmou搜索引擎优化ut=javascript:a"&myArray(4,i)&".style.display=none><fontcolor="&myArray(3,i)&">"&myArray(0,i)&"</a></td>"
-----------------------------------------------
i=i+1
Wend
Response.Write"</tr></table>"
i=0
whileiposit_y=100y地位回到原位
Ifi>=(sumnum/2)Then假如菜单进进右半部分,则弹出转向
flag=0
EndIf
挪用GetSubMenu函数设置该项一级菜单的上级菜单,以myArray(4,i)即菜单id作为上级菜单地点div的id
GetSubMenumyArray(4,i),posit_x,posit_y
posit_x=posit_x+widd下一个一级菜单的子菜单的x坐标值增添一个单元
i=i+1
Wend
利用递规算法的到上级菜单的函数
parent_id父id;posit_x弹出层的右边地位;posit_y弹出层的离下面地位;
FunctionGetSubMenu(parent_id,posit_x,posit_y)
dimmyArray
dimsumnum
dimi
查询子菜单的上级菜单
sql="SELECTmenu_name,menu_link,menu_bgcolor,menu_color,idFROMenter_individualWHEREparent_id="&parent_id&"ANDuser_id="&userid&""
rs.Opensql,conn,1,1
假如上级菜单不存在,则层数减一,封闭数据库链接,创建一个以父id为divid的空层,然后前往
Ifrs.EOF=trueThen
level=level-1
rs.Close()
Response.Writeparent_id
Response.Write"<divid=a"&parent_id&"style=position:absolute;top:4;left:-1;display:none;width:0;height:0></div>"
Else
假如存在取到数据库数据,并挪用SetSubMenu显现菜单
sumnum=rs.RecordCount
myArray=rs.GetRows()
rs.Close()
SetSubMenumyArray,sumnum,parent_id,posit_x,posit_y
对数据举行轮回,递规挪用GetSubMenu
i=0
whilei<sumnum
posit_y=posit_y*1+20递规一次posit_y加一个单元,
iflevel=0Then假如级数减到0则回到1
level=1
EndIf
Ifflag=1Then
GetSubMenumyArray(4,i),posit_x+level*widd,posit_y-level*20递规挪用GetSubMenux,y坐标延长level个单元
EndIf
Ifflag=0Then
GetSubMenumyArray(4,i),posit_x-level*widd,posit_y-level*20递规挪用GetSubMenux,y坐标延长level个单元
Else
GetSubMenumyArray(4,i),posit_x+level*widd,posit_y-level*20递规挪用GetSubMenux,y坐标延长level个单元
EndIf
i=i+1
Wend
EndIf
EndFunction
设置子菜单函数
myArray菜双数据,sumnum数组巨细,parent_id层的id;
posit_x弹出层的右边地位;posit_y弹出层的离下面地位;
FunctionSetSubMenu(myArray,sumnum,parent_id,posit_x,posit_y)
dimi
parent_id="a"&parent_id父菜单id后面加上a作为层的id
hh=sumnum*20数组巨细乘以20作为层的高度
Response.Write"<DIVonmou搜索引擎优化ver=javascript:"&parent_id&".style.display=blockonmou搜索引擎优化ut=javascript:"&parent_id&".style.display=noneID="&parent_id&"STYLE=position:absolute;top:"&posit_y&";left:"&posit_x&";height:"&hh*1&";width:"&widd&";display:none;vertical-align:top><tablewidth=100%border=0cellspacing=1cellpadding=0>"
i=0
Whilei
myArray(0,i)=Trim(myArray(0,i))
myArray(1,i)=Trim(myArray(1,i))
myArray(2,i)=Trim(myArray(2,i))
myArray(3,i)=Trim(myArray(3,i))
IfmyArray(2,i)=""Then
myArray(2,i)=defaultbgcolor
EndIf
IfmyArray(3,i)=""Then
myArray(3,i)=defaultcolor
EndIf
IfmyArray(1,i)=""Then
myArray(1,i)=defaultlink
EndIf
Response.Wri</p>ASP脚本是采用明文(plaintext)方式来编写的。 交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。 ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。 哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的? Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点) 不是很难但是英文要有一点基础网上的教程很少有系统的详细的去买书吧,另不用专门学习vb关于vbscript脚本在asp教材都有介绍 ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。 因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。 ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。 因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。 以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。
页:
[1]