基于ASP的新闻标题广告管理系统(三)
这部分程序主要有四个目的:一是参考级显示广告,广告显示随机选择;第二,显示广告更新次数;第三、横幅广告输出HTML代码;第四、点击显示并保存历史记录在历史表中。
实现上述功能有两个主要脚本:
showbanner.asp:确定广告被这个来电显示,更新显示的次数,并为标题广告生成的HTML代码。
Redirect.asp:重定向页。由showbanner.asp产生广告HTML代码将调用脚本,由脚本记录,和重定向到广告指定的页面。
下载包中的showbanner.asp也是一种广告显示的示例页面,每刷新一次页面,可以显示不同的广告。在showbanner.asp的实施,我们引进的关键步骤。
一种计算显示电平求和
本系统所采用的广告选择算法是:第一,首先计算所有可用的广告显示水平的总和,然后生成一个随机数据和值,然后确定广告显示该随机数。下面的代码是用来计算可用的广告总展示水平:
ntotalweight = 0
如何为选择和sumweight(重量)+ _
状态= 1中的广告
RS Open StrSQL,CN
如果不rs.bof然后not rs.eof
ntotalweight =遥感领域(sumweight )
ntotalweight可以是空值
如果IsNull(ntotalweight)然后
ntotalweight = 1
最后如果
最后如果
在计算ntotalweight,我们可以生成基于价值是一个随机数,这是如下:
随机化
nrandomnumber = int(RND * ntotalweight)+ 1
该程序将读取可用的广告记录(见下面的代码),并累积记录记录的总重量。当新的总和超过这里生成的随机数时,当前的记录将用作显示的广告。
对现有广告记录的两种分析
接下来的任务是执行一个查询来提取所有可用的广告记录。如前所述,当遍历可用的广告记录,该记录nweightcount总重量值记录。当nweightcount等于或大于随机数nrandomnumber生成之前,程序会发现广告显示的是次要的。以下是如下:
如何=SELECT * FROM广告地位= 1
关闭
RS Open StrSQL,CN
bdone = false
已读取的权值的总和。
nweightcount = 0
U3000
清除变量
strimageurl =
stralttext =
strlink =
nimagewidth = 0
nimageheight = 0
nweight = 0
nadid = 0
nadvertiserid = 0
nviewlimit = 0
nimpressions = 0
U3000
而不是rs.bof not rs.eof不bdone
将变量赋值给变量
该算法不利于效率,但简化了控制结构。
strimageurl =遥感领域(所在)
StrAltText = rs.Fields (AltText)
strlink =遥感领域(链接)
nimagewidth =遥感领域(imagewidth )
nimageheight =遥感领域(ImageHeight)
nweight =遥感领域(重量)
nadid =遥感领域(辅助)
nadvertiserid =遥感领域(advertiserid )
nviewlimit =遥感领域(viewlimit )
nimpressions =遥感领域(印象)
nweightcount = nweightcount + nweight
移到下一项
是的nweightcount等于或大于一个随机变量的值
如果nweightcount或rs.eof然后> nrandomnumber
bdone =真
最后如果
走
三更新当前广告的显示次数
在确定本次展示的广告,该程序可以更新的广告记录的印象领域。如果新印象值超过显示次数(nviewlimit),有必要设置状态字段0(也就是说,这个广告不能再次显示)的实现代码是。如下:
状态= 1
nimpressions = nimpressions + 1
如果nimpressions > = nviewlimit然后
状态= 0
最后如果
如何为更新广告设置状态=+ _
CStr(北京)+印象=+ _
CStr(nimpressions)++辅助=_
CStr(nadid)
关闭
RS Open StrSQL,CN
四生成HTML代码
完成准备工作之后,您就可以输出显示广告的HTML代码:
重定向目标> URL >其他参数>标签
为什么不直接链接到广告商指定的网址呢这是为什么,虽然这种方法比较简单,我们希望记录广告的数量,和重定向页面,我们可以更新广告的点击率的字段值。
在HTML代码显示广告,重定向页被认为是Redirect.asp和目标URL来自其他参数,主要是广告数量和广告的数量。redirect.asp使用这些参数来记录,点击历史。具体实现如下:
strhtmlcode = _
+ Chr(13)+ CHR(10)
这里的strhtmlcode是HTML代码显示广告。
五记录其他信息
为了向广告商提供更多的信息,也为了便于进一步分析,除了记录的数量外,其他信息记录程序仍然是表(浏览广告、浏览IP地址和浏览时间、广告广告号、客户号),如下所示:
如何=插入bannerhistory + _
(advertiserid、辅助、IP地址、类型(值)+ _
CStr(nadvertiserid)+
CStr(nadid)+
request.servervariables(remote_host )+ _
,1。
RS Open StrSQL,CN
浏览的日期时间值是在Access中设置的,也就是说,设置字段的默认值是现在()。
六重定向页面
本文提供了一个简单的重定向页的Redirect.asp,其功能是记录广告点击次数,然后生成记录在历史表bannerhistory,最后重定向到目标URL,如下图所示。
连接,创建一个Recordset对象RS,一点…
U3000
增加广告的点击计数,如点击计数超过限制值,
将状态设置为0
如何为更新广告+ _
设置点击率=点击率+ 1+ _
Status=iif (ClickThroughs>=ClicksLimit, 0,1) + _
在辅助=+ request.querystring(advertisementid )
RS Open StrSQL,CN
U3000
生成广告点击历史记录
如何=插入bannerhistory + _
(advertiserid、辅助、IP地址、类型(值)+ _
Request.QueryString(advertiserid )+
Request.QueryString(advertisementid )+
request.servervariables(remote_host )+,2)。
RS Open StrSQL,CN
重定向到广告指定的页面
响应。重定向(Request.QueryString(链接))
接下来的步骤