|
作者: mozhonghai [mozhonghai] 论坛用户 | 登录 |
各位大侠,大家好: 我的问题是这样的,网站在后台更改了广告无法用,据我的分析是因为调用的ID受到下面代码的限制, 下面是首页调用代码: </table> <table width="751" border="0" cellpadding="0" bgcolor="#FFFFFF" class="b5" align="center" cellspacing="0"> <tr> <td align="center" height="105"><%Call hx66_AD(3)%></td> </tr> </table> 这段代码调用后的结果是调用了ID为3的广告数据,而新增加的广告因为ID不同而无法显示,这样就不能更好的在后台操作,如果要让广告可以更好的在后台操作的,应该怎么改这段代码! 具体要改后能达到要求:新增广告后,设置该广告生效后便能用,不受ID的限制 下面是数据库中对应的表截图(其中灰色的部分就是广告表): 下面是广告表中对应的字段截图: 由于这个作业很快就要交了,麻烦会的朋友帮个忙 [此贴被 土贼(mozhonghai) 在 10月14日20时35分 编辑过] |
地主 发表时间: 07-04-17 14:37 |
回复: NetFog [q70213526] 版主 | 登录 |
你应该将hx66_AD这个过程/函数发上来. |
B1层 发表时间: 07-04-17 15:28 |
回复: NetFog [q70213526] 版主 | 登录 |
你贴错了.贴出一个sub或者function |
B2层 发表时间: 07-04-17 19:09 |
回复: mozhonghai [mozhonghai] 论坛用户 | 登录 |
函数为: Function Hx66_AD(AD_Title) '============================================================广告调用 set ADRS=server.createobject("adodb.recordset") sql="select top 1 AD_ID,AD_Title,AD_Http,AD_width,blank,AD_height,AD_Pic,AD_Note,AD_flash,AD_on,AD_Alt from Advertise where AD_on=0 and AD_ID="&AD_ID&"" ADRS.open sql,conn,1,1 If ADRS.bof Then Response.write"" Else if ADRS("AD_flash")=true then Response.Write("<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0' width="&ADRS("Ad_width")&" height="&ADRS("Ad_height")&"><param name='movie' value="&ADRS("Ad_Pic")&"><param name='wmode' value='transparent'><embed src="&ADRS("Ad_Pic")&" quality='high' pluginspage='http://www.macromedia.com/go/getflashplayer' type='application/x-shockwave-flash' width="&ADRS("Ad_width")&" height="&ADRS("Ad_height")&"></embed></object>") else if ADRS("AD_http")="" then Response.Write("<div>") Response.Write("<img src="&ADRS("Ad_Pic")&" width="&ADRS("Ad_width")&" height="&ADRS("Ad_height")&" border=""0"" alt="&ADRS("AD_Alt")&"></div>") else if ADRS("blank")=true then Response.Write("<div><a target='_blank' href="&ADRS("Ad_Http")&">") Response.Write("<img src="&ADRS("Ad_Pic")&" width="&ADRS("Ad_width")&" height="&ADRS("Ad_height")&" border=""0"" alt="&ADRS("AD_Alt")&"></a></div>") else Response.Write("<div><a href="&ADRS("Ad_Http")&">") Response.Write("<img src="&ADRS("Ad_Pic")&" width="&ADRS("Ad_width")&" height="&ADRS("Ad_height")&" border=""0"" alt="&ADRS("AD_Alt")&"></a></div>") end if end if End If End If end Function 首页调用我将:<%Call hx66_AD(3)%> 改为:<%Call hx66_AD(AD_Title("汤逊湖青年"))%> 将 set ADRS=server.createobject("adodb.recordset") sql="select top 1 AD_ID,AD_Title,AD_Http,AD_width,blank,AD_height,AD_Pic,AD_Note,AD_flash,AD_on,AD_Alt from Advertise where AD_on=0 and AD_ID="&AD_ID&"" 改为: set ADRS=server.createobject("adodb.recordset") sql="select top 1 AD_ID,AD_Title,AD_Http,AD_width,blank,AD_height,AD_Pic,AD_Note,AD_flash,AD_on,AD_Alt from Advertise where AD_on=0 and AD_Title="&AD_Title&"" 后台的广告AD_Title 字段填写的是 "汤逊湖青年" 但还是显示不出来 [此贴被 鱼唾沫(mozhonghai) 在 04月17日19时19分 编辑过] |
B3层 发表时间: 07-04-17 19:17 |
回复: NetFog [q70213526] 版主 | 登录 |
Function Hx66_AD(AD_Title) End Function 因为你的AD_Title参数根本就没有函数中使用.你干脆将Function Hx66_AD(AD_Title)改为Function Hx66_AD(AD_ID). 比如要调用表中的AD_ID值为3的广告.则Call Hx66_AD(3). |
B4层 发表时间: 07-04-17 19:47 |
回复: mozhonghai [mozhonghai] 论坛用户 | 登录 |
这个程序原来就是Function Hx66_AD(AD_ID)和Call Hx66_AD(3)的,但这样做在后台如果删除了ID为3的这条数据后新建数据ID就不一样了,结果就会造成主页调用广告出现错误,无法调用! |
B5层 发表时间: 07-04-17 19:53 |
回复: NetFog [q70213526] 版主 | 登录 |
代码: 调用时--> Call Hx66_AD("广告标题名称") |
B6层 发表时间: 07-04-17 21:07 |
回复: NetFog [q70213526] 版主 | 登录 |
你的少了个单引号. |
B7层 发表时间: 07-04-17 21:08 |
回复: mozhonghai [mozhonghai] 论坛用户 | 登录 |
问题已经解决,谢谢版主的热心解决! |
B8层 发表时间: 07-04-17 22:07 |
|
20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon
粤ICP备05087286号