日期:2008-12-20  浏览次数:20971 次

标题广告是Web上最常见的广告形式。本文介绍了一个基于IIS和ASP的标题广告管理系统,该系统支持广告客户和广告的管理,能够随机选择广告并生成显示广告的HTML代码(但参考广告的等级、显示次数限制、点击次数限制),并能够记录广告显示、点击的历史纪录。




   一、数据库表结构

   标题广告也就是Banner Ad,是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制作条形统计图表》。