标题广告是Web上最常见的广告形式。本文介绍了一个基于IIS和ASP的标题广告管理系统,该系统支持广告客户和广告的管理,能够随机选择广告并生成显示广告的HTML代码(但参考广告的等级、显示次数限制、点击次数限制),并能够记录广告显示、点击的历史纪录。
一、数据库表结构
标题广告也就是BannerAd,是Web上最常见的广告形式。本文介绍的标题广告管理系统利用access(小型网站之最爱)数据库db.mdb来保存数据。db.mdb包含三个表:Advertisement保存有关广告的信息,Advertiser保存广告客户信息,BannerHistory保存广告显示和点击的历史记录。这三个表结构如下:
表字段类型说明
Advertisment(广告)AdvertiserID数字广告客户的编号。
Status数字表示是否允许该广告显示。0表示不显示,1表示显示。当广告显示次数(或点击次数)超过显示次数限制值(或点击次数限制值)时,系统设置该值为0。也可以在广告管理功能内手工禁止广告显示。(在管理模块内,1显示为“可用”,0显示为“不可用”。)
ImageURL文本广告图片的URL,也就是图片的位置。
ImageWidth数字广告图片的宽度。
ImageHeight数字广告图片的高度。
Link文本广告客户所要求的广告链接。
AltText文本广告图片的文本。(用于<IMG>标记的alt属性)
Weight数字显示等级。等级值影响广告出现的频繁程度。本文实现预定义10个等级(1-10)。等级值越大广告出现的机会也越大。
StartDate日期时间开始日期
EndDate日期时间结束日期。在本实现中,这两个日期值并不影响广告的显示,只要已显示次数和点击次数没有超过限制值,广告总是可以显示的。
ViewLimit数字显示次数限制。广告显示次数超过该值时Status将变为0。
ClicksLimit数字点击次数限制。广告点击次数超过该值时Status将变为0。
AdID数字广告编号,由系统自动生成,是广告的唯一标识。AdID是本表的主键。
Impressions数字本广告已经显示的次数。
ClickThroughs数字本广告被点击的次数。
Advertiser(广告客户)Name文本客户名称
Address文本地址
CityStateZip文本城市和邮编
Phone文本电话
Fax文本传真
URL文本客户网站
Login文本客户通过Web查询自己的广告显示、点击情况时所使用的登录名称。
Password文本客户登录所用的密码。
EMail文本邮件。
AdvertiserID数字广告客户编号,由系统自动生成,是广告客户的唯一标识。AdvertiserID是本表的主键。
BannerHistory(显示或点击历史纪录)AdvertiserID数字广告客户编号。
AdID数字广告编号。
IPAddress文本浏览或点击广告者的IP地址。
Type数字Type表明本记录是显示广告还是点击广告。1表示显示,2表示点击。
datetime日期时间显示或点击广告的时间。
在本实现中,所有的处理逻辑均由ASP脚本实现,数据库仅用来保存数据,这是为了方便将系统从access(小型网站之最爱)数据库移植到其他数据库。在实际应用场合,我们建议将部分处理逻辑在数据库中实现,例如比较现有显示次数和显示次数限制值以确定是否禁止广告显示(当然,这是在所使用的数据库系统支持该功能的前提下)。
从功能上来看,本文提供的系统可以分成两个部分:即管理部分和广告显示部分。管理部分用于增加、删除、修改广告、广告客户的有关信息,比如禁止或启用某个广告。显示部分负责生成显示标题广告的HTML代码。本文实现不提供有关显示、点击次数的统计图表,但这些数据都保存在BannerHistory表中,从该表可以方便地得到各种统计数据。有关ASP应用的图表制作,参见《利用ASP和HTML制作条形统计图表》。