建立一个广告交换及跟踪系统

First you need a database to store your banners. We are using 2 tables; tblBanners and tblVendors:

tblBanners:
bID - auto number (banner ID)
bBanner - text (image file)
bUsedViews - number (# of views the banner has received)
bTotalViews - number (# of impressions the vendor has paid for)
bClicks - number (# of clicks the banner has received)
bURL - text (URL of the site)
bShow - yes/no (used to show and hide banners)
vID - number (vendor ID)

tblVendors:
vID - autonumber (vendor ID - links to tblBanners.vID)
vName - text (Vendor's name)
etc..........

Now that the database is set up, we need to randomly display the banner on our pages and increment the 'views' by 1:

First you need to open your database connection on the page you want your banner to be viewed on. We use a DSN-less connection; you can find it at the following address:

http://www.askasp.com/toolbox.asp?Expand=True&ID=2#tool

Here is what the SQL might look like:

SQL = "SELECT tblBanners.bID, tblBanners.bImage, tblBanners.bUsedViews, tblBanners.bLastViewed "
SQL = SQL & "FROM tblBanners "
SQL = SQL & "WHERE (((tblBanners.bShow)=True) AND ((tblBanners.bTotalViews)>[tblBanners].[bUsedViews]));"

In the above SQL, we are checking for the 'bShow' flag to be True, and that the UsedViews is less than the TotalViews.

Now that we have all of the banners that we can display, we need to display a random one. We can do this by grabbing the total number of banners, moving to the first record, and the moving to a random number, for example:

Dim rndMax, rndNumber

Randomize

rndMax = Int(RecordSet.RecordCount)
rndNumber = Int(RND * rndMax)

RecordSet.Move rndNumber

Now that we have moved to our random banner, we now need to display the banner on our page (I am sure you know how to do that, so I wont bore you with the details). However, Instead of using the banner's URL in the link, we are going to use a redirect page so we can count the clicks. All we need to do is use the banner ID in the HREF tag, for example:

a href="redirect.asp?ID=<%= BANNER ID %>"

Now that we have the link set up, we can move on to our redirect.asp page. On this page, we are going to grab the ID that we are passing in the Query String, and grabbing the RecordSet that matches. Once we have the RecordSet, we can grab the banner's URL, increase the Clicks by 1, and send the user to the destination URL. Below is the code for the redirect.asp page:

<%
If Request.QueryString("ID") = "" Then
Response.Redirect("default.asp")
End If

Dim varSiteToRedirect, varURLToRedirect

varSiteToRedirect = Int(Request.QueryString("ID"))

SQL = "SELECT tblBanners.bID, tblBanners.bURL, tblBanners.bClicks "
SQL = SQL & "FROM tblBanners "
SQL = SQL & "WHERE (((tblBanners.bID)=" & varSiteToRedirect & "));"

varDatabaseName = "ask_asp_data.mdb"
%>

<!--#include file="common/data_conn_open.asp"-->

<%
If Not RecordSet.BOF Then
RecordSet.MoveFirst
End If

varURLToRedirect = RecordSet.Fields("bURL")

RecordSet.Fields("bClicks") = (RecordSet.Fields("bClicks") + 1)
RecordSet.Update
%>

<!--#include file="common/data_conn_close.asp"-->

<% Response.Redirect(varURLToRedirect) %>

时间: 2025-01-20 16:42:18

建立一个广告交换及跟踪系统的相关文章

用Dreamweaver MX建立一个简单的图书查询系统

dreamweaver|查询系统 最近公司为了充分利用图书资源,方便员工查询,决定在公司内部网上建立一个图书查询系统.考虑到公司图书不多,只有1千多册,且专业书居多的特点,我决定做两个查询条件:一个是根据图书类别来查询,用户只要选择相应的类别就可以显示出该类别的所有图书,这主要是面对对公司图书不熟悉的人:第二个是根据图书名称来查询,用户只要输入图书名,就可以快速的搜索到符合条件的所有图书. 方案已定,接下来就是用什么软件做及如何做的问题了.在这里,我选用了网页的形式,这样同事们只要打开浏览器,输

用Dreamweaver MX建立一个简单的图书查询系统(2)

dreamweaver|查询系统 三.制作按类别查询显示的页面 1.新建一动态网页,取名xianshi.asp. 2.建立记录集.选择Application面板中的Bindings标签,按加号按钮,选择Recordset(Query),弹出Recordset对话框,里面的设置如图13,名字为Recordset2,数据库表选择tushu,因为网页显示的图书信息是根据前面查询条件来显示的,因此就需要设置一个限制条件来选择符合条件的图书,那么这个条件是通过什么来实现传递和接受的呢?这就需要用到URL

用Dreamweaver MX建立一个简单的图书查询系统(1)

dreamweaver|查询系统 最近公司为了充分利用图书资源,方便员工查询,决定在公司内部网上建立一个图书查询系统.考虑到公司图书不多,只有1千多册,且专业书居多的特点,我决定做两个查询条件:一个是根据图书类别来查询, 用户只要选择相应的类别就可以显示出该类别的所有图书,这主要是面对对公司图书不熟悉的人:第二个是根据图书名称来查询,用户只要输入图书名,就可以快速的搜索到符合条件的所有图书.  方案已定,接下来就是用什么软件做及如何做的问题了.在这里,我选用了网页的形式,这样同事们只要打开浏览器

广告播放和跟踪系统的制作

广告 作者: Christopher Miller 转载: ASP精品屋 钱丰云 首先你需要一个数据库放置你的广告,我们共用了2个表: blBanners 和 tblVendors表:tblBanners结构表如下:bID - auto number (广告ID)bBanner - text (图像文件)bUsedViews - number (# 标准的广告显示次数)bTotalViews - number (# of impressions the vendor has paid for)b

分布式调用跟踪系统的设计和应用学习

一.为什么需要分布式调用跟踪系统 随着分布式服务架构的流行,特别是微服务等设计理念在系统中的应用,业务的调用链越来越复杂, 可以看到,随着服务的拆分,系统的模块变得越来越多,不同的模块可能由不同的团队维护, 一个请求可能会涉及到几十个服务的协同处理, 牵扯到多个团队的业务系统,那么如何快速准确的定位到线上故障? 同时,缺乏一个自上而下全局的调用id,如何有效的进行相关的数据分析工作? 对于大型网站系统,如淘宝.京东等电商网站,这些问题尤其突出. 一个典型的分布式系统请求调用过程: 比较成熟的解决

轻量应用服务器 常见应用安装与配置:搭建Mantis开源缺陷跟踪系统

搭建Mantis开源缺陷跟踪系统 下面我们来介绍如何使用轻量应用服务器搭建一个Mantis开源缺陷跟踪系统. 1. 创建服务器 访问轻量应用服务器购买页面,选择LAMP镜像,并选择套餐.购买时长,确认订单支付并确认. 2. 查看应用信息 创建服务器成功后,点击服务器列表页的LAMP轻量应用服务器卡片 点击应用管理,应用详情 查看并记录预装好的LAMP开发环境的相关信息 复制其中的命令,鼠标右键-复制 打开右上角的远程连接功能 连接成功后,在打开的远程连接窗口中 粘贴 输入刚刚复制的命令并按回车执

一个广告轮播系统的例子(内含文件上传的方法)

网路广告,变成了 Internet 上的热门学问.而 468x60 更变成了广告人员绞尽脑汁的尺寸. 在处理广告时,若能直接使用浏览器将广告的 468x60 图档送到处理广告的伺服器中,相信是件很舒服的事,不用再开 FTP 程式,搞大半天只为了 upload. 这个问题,是所有 Web CGI 程式的痛,包括 ASP.Prel....等等,都需要再经过系统元件的增加才能达成.号称最强的 Web CGI 程式: PHP,在这方面的表现没有令人失望,甚至傲视其它的 CGI 工具. File Uplo

设计-如何建立一个学生选课系统

问题描述 如何建立一个学生选课系统 假定有n门课程,每门课程有课程编号,课程名称,课程性质,学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于15)自由选课.试设计一个选修课程系统,使之能提供以下功能: 解决方案 在数据库中创建两个表,分别是学生信息表和课程信息表,学生信息表包含学生学号和学分,学生的学分大于等于15就可以自由选课,少于则不行,也就是根据学生的学分加个判断条件,可以在数据库中用触发器,也可以在前端自己用编程语言加判断,这些你自己决定吧,我数据库不

Trac 0.12.3发布 一个问题跟踪系统

TRAC是一个基于集成Wiki引擎的软件开发的问题跟踪系统.其特点包括源代码http://www.aliyun.com/zixun/aggregation/9591.html">版本控制的接口,一个漏洞/问题跟踪数据库和报表功能. Trac 0.12.3该维护版本增加了对Subversion 1.7.MySQL 5.5.3 utf8mb4字符集 和 jQuery 1.4.4的支持.它包含了一个修复的数量,提高软件的稳定性和正确性. 软件信息:http://trac.edgewall.org