asp制作大屏幕抽奖程序思路

hblzg 2004-04-12 09:10:21
现在需要一个电视直播的抽取用户的手机号码的小程序。使用asp怎么来实现呢?
...全文
379 点赞 收藏 8
写回复
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
sportdog 2004-07-12
<%@ Language=VBScript %>
<%
on error resume next
Set InfoDB = Server.CreateObject("ADODB.Connection")
InfoDB.Open "provider=sqloledb;server=dbserver;uid=infouser;pwd=infouser;database=infodb"
sql = "select rtrim(fcst_name)+':'+fcp_series as card from t_customer a,T_CUSTOMER_PURCHASE b where a.fcst_id=b.fcp_cst_id"
set rs = infodb.Execute(sql)
if err.number<>0 then
Response.Write "提取数据失败"
Response.End
end if
strinfo=""
while not rs.eof
strinfo=strinfo&trim(rs("card"))&","
rs.movenext
wend
%>

<HTML><HEAD><TITLE>抽奖</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content="MSHTML 5.50.4807.2300" name=GENERATOR>
<style>
.input_text{ Height:27;font-size: 20;font-weight: bold;font-family: 黑体;BORDER-RIGHT: silver 1px solid; BORDER-TOP: silver 1px solid; OVERFLOW: hidden; BORDER-LEFT: silver 1px solid; BORDER-BOTTOM: silver 1px solid; FONT-FAMILY: 宋体; BACKGROUND-COLOR:#ccffcc;color:#006600}
.input_text2{ Height:27;font-size: 20;font-weight: bold;font-family: 黑体;BORDER-RIGHT: silver 1px solid; BORDER-TOP: silver 1px solid; OVERFLOW: hidden; BORDER-LEFT: silver 1px solid; BORDER-BOTTOM: silver 1px solid; FONT-FAMILY: 宋体; BACKGROUND-COLOR:#000000;color:#33ff66}
</style>
</HEAD>
<BODY>
<INPUT size=22 name=show1 class="input_text2" readonly style="WIDTH: 315px; HEIGHT: 27px">
<br><br><BUTTON id=startb onclick='timer = setInterval("giveone()",27);this.disabled=true;endb.disabled=false;'>开始</BUTTON>
   <BUTTON id=endb onclick='StopGo();' disabled>停止</BUTTON>
<SCRIPT language=JavaScript>
var timer;
var strtmp ;
var arr;
var allstr;
allstr="<%=strinfo%>";
//allstr = "苏A AA021,苏B U8201,苏A W3351,";//苏A X2455,苏A AE666,苏A AF888,苏A AG443,苏A Y4545,苏A X3221,
strtmp = allstr.split(",");
function giveone()
{
var rndNum1 = parseInt(Math.random() * strtmp.length+1);
var i;
var cfflag;
arr = Go1.innerText.split(",");
if(arr.length>=strtmp.length)
{
document.all.show1.value="";
clearInterval(timer);
alert("已经抽出的等于总数");
startb.disabled=false;
endb.disabled=true;
return false;
}
else
{
if(strtmp[rndNum1-1].length!=0)
{
for(i=0;i<arr.length;i++)
{
if(arr[i]!=strtmp[rndNum1-1])
{
cfflag=0;
}
else
{
return false;
}
}
}
}
if(cfflag==0)
{
document.all.show1.value = " "+strtmp[rndNum1-1];
}
else
{
return false;
}
}

function StopGo()
{
var str;
str=Go1.innerText;
if(str.indexOf(document.all.show1.value)==-1)
{
clearInterval(timer);
Go1.innerText+=document.all.show1.value+",";
if(arr.length>=strtmp.length)
{
document.all.show1.value="";
clearInterval(timer);
alert("已经抽出的等于总数");
startb.disabled=true;
endb.disabled=true;
return false;
}
else
{
//setInterval("startb.click()",1000);
//setInterval("givetwo()",1000);
}
startb.disabled=false;
endb.disabled=true;
}
else
{
startb.disabled=true;
endb.disabled=false;
}

}

function givetwo() {
clearInterval(timer);
Go1.innerText+=document.all.show1.value+",";
startb.disabled=false;
endb.disabled=true;
return false;
}
</SCRIPT>
<TABLE>
<TR>
<TD id=Go0 height=27></TD></TR>
<TR>
<TR>
<TD id=Go1></TD></TR>
<TR>
<TD id=Go2></TD></TR>
<TR>
<TD id=Go3></TD></TR>
<TR>
<TD id=Go4></TD></TR></TABLE>
</BODY></HTML>
回复
Mr Messi 2004-06-10
我以前做过一个这样的抽奖程序,其实是个很简单的程序!
思路:抽取所有符合条件的数据,写入一个临时表中,该表中有一个关键字段ID(自增类的KEY),然后用生成一个从0到记录总数之间的随机数,取ID等于随机数的记录为中奖者,然后从临时表中删除该记录,更新一下ID值。然后重复循环抽取数据即可。

呵呵呵,楼主你该不会是在嘉兴工作的吧?????
回复
wanzhouxu 2004-06-09
同意一楼的做法,
回复
flytyger 2004-06-09
如果有重复怎么办呢?关注
回复
clkun 2004-06-09
关注。不知是什么好的解决方法。
回复
Camelot 2004-06-09
这个用asp没办法吧,这已经应该在客户端了,用javascript了吧。
回复
baisun 2004-06-09
考虑点停止的时候,隔0.5秒显示一个号码,直到得到所需个数 :)
回复
liuyu202 2004-04-12
将被抽取的手机号码以一定的时间(例如200ms)循环显示,当按下停止按钮时,就停止选环显示,选取当前显示的号码作为中奖号码!
回复
发动态
发帖子
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
社区公告
暂无公告