仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 469|回复: 8
打印 上一主题 下一主题

[学习教程] ASP编程:利用asp分离数据库完成不限级数的弹出菜...

[复制链接]
只想知道 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 23:20:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
我想详细了解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)方式来编写的。
第二个灵魂 该用户已被删除
沙发
发表于 2015-1-20 09:31:16 | 只看该作者
交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。
再见西城 该用户已被删除
板凳
发表于 2015-1-29 06:27:47 | 只看该作者
ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。
若相依 该用户已被删除
地板
发表于 2015-2-5 23:13:18 | 只看该作者
哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的?
爱飞 该用户已被删除
5#
发表于 2015-2-14 03:54:16 | 只看该作者
Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点)
飘灵儿 该用户已被删除
6#
发表于 2015-3-4 04:28:33 | 只看该作者
不是很难但是英文要有一点基础网上的教程很少有系统的详细的去买书吧,另不用专门学习vb关于vbscript脚本在asp教材都有介绍
蒙在股里 该用户已被删除
7#
发表于 2015-3-11 16:36:45 | 只看该作者
ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。  因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。
只想知道 该用户已被删除
8#
 楼主| 发表于 2015-3-19 01:37:30 | 只看该作者
ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。  因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。
小妖女 该用户已被删除
9#
发表于 2015-3-27 02:12:34 | 只看该作者
以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2025-1-4 03:19

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表