asp实现的可以提醒生日的几种方法附代码 |
本文标签:asp,提醒生日 asp生日自动提醒小程式 用ASP编写,调试通过,使用方便-asp birthday automatically remind small programs with the preparation of ASP, debug, easy to use 方法一: 最初写的一个用于班级网站的最近一个月同学生日的提醒小程序 。虽然不怎么样,而且很乱,但是最起码是自己动脑筋去想的,所以我比较看重 。ASP程序虽然有好多可以借鉴人家的 。但是我想更多时候,我们应该在经典上有所突出,有所创新那不至于默守陈规而无永远只能做一个平凡的程序员 。 <% dim daydif dim days 定义查询前后多少天内生日的同学,如60则查询前一个月后下一个月生日的同学名单 。 SQL="Select name,brithday from class " Set rs=server.CreateObject("ADODB.RecordSet") rs.Open SQL,con,1,1 for i=1 to rs.recordcount 读出所有的数据 if rs.eof then exit for daydif=abs(datediff("d",date,rs("birthday")) )mod 365 if daydif < days response.write rs("name")%> response.write "<font color="#FF0000">" response.write rs("birthday")&"、</font>" end if rs.movenext loop rs.Close Set rs=nothing %> 方法二: <% days1=split(date(),"-") days2=split(DateAdd("d",5,date()),"-") sql="select [id],Memberid,birthday from customers " if days1(1)<>days2(1) then sql=sql+" where (month(birthday) = "&days1(1)&" or month(birthday)="&days2(1)&")" else sql=sql+" where month(birthday) = "&days1(1)&"" end if sql=sql+" and day(birthday) between "&days1(2)&" and "&days2(2)&"" Response.Write(sql) set conn=server.CreateObject("ADODB.connection") conn.open connstr set rs=Conn.execute(sql) if not rs.eof then%> <script language="JavaScript"> window.onload = getMsg; window.onresize = resizeDiv; window.onerror = function(){} //短信提示使用(asilas添加) var divTop,divLeft,divWidth,divHeight,docHeight,docWidth,objTimer,i = 0; function getMsg() { try{ divTop = parseInt(document.getElementById("eMeng").style.top,10) divLeft = parseInt(document.getElementById("eMeng").style.left,10) divHeight = parseInt(document.getElementById("eMeng").offsetHeight,10) divWidth = parseInt(document.getElementById("eMeng").offsetWidth,10) docWidth = document.body.clientWidth; docHeight = document.body.clientHeight; document.getElementById("eMeng").style.top = parseInt(document.body.scrollTop,10) + docHeight + 10;// divHeight document.getElementById("eMeng").style.left = parseInt(document.body.scrollLeft,10) + docWidth - divWidth document.getElementById("eMeng").style.visibility="visible" objTimer = window.setInterval("moveDiv()",10) } catch(e){} } function resizeDiv() { i+=1 if(i>500) closeDiv() try{ divHeight = parseInt(document.getElementById("eMeng").offsetHeight,10) divWidth = parseInt(document.getElementById("eMeng").offsetWidth,10) docWidth = document.body.clientWidth; docHeight = document.body.clientHeight; document.getElementById("eMeng").style.top = docHeight - divHeight + parseInt(document.body.scrollTop,10) document.getElementById("eMeng").style.left = docWidth - divWidth + parseInt(document.body.scrollLeft,10) } catch(e){} } function moveDiv() { try { if(parseInt(document.getElementById("eMeng").style.top,10) <= (docHeight - divHeight + parseInt(document.body.scrollTop,10))) { window.clearInterval(objTimer) objTimer = window.setInterval("resizeDiv()",1) } divTop = parseInt(document.getElementById("eMeng").style.top,10) document.getElementById("eMeng").style.top = divTop - 1 } catch(e){} } function closeDiv() { document.getElementById(eMeng).style.visibility=hidden; if(objTimer) window.clearInterval(objTimer) } </script> <DIV id=eMeng style=BORDER-RIGHT: #455690 1px solid; BORDER-TOP: #a6b4cf 1px solid; Z-INDEX:99999; LEFT: 0px; VISIBILITY: hidden; BORDER-LEFT: #a6b4cf 1px solid; WIDTH: 180px; BORDER-BOTTOM: #455690 1px solid; POSITION: absolute; TOP: 0px; HEIGHT: 116px; BACKGROUND-COLOR: #c9d3f3> <TABLE style=BORDER-TOP: #ffffff 1px solid; BORDER-LEFT: #ffffff 1px solid cellSpacing=0 cellPadding=0 width=100% bgColor=#cfdef4 border=0><TBODY> <TR> <TD style=FONT-SIZE: 12px; BACKGROUND-IMAGE: url(msgTopBg.gif); COLOR: #0f2c8c width=30 height=24></TD> <TD style=FONT-WEIGHT: normal; FONT-SIZE: 12px; BACKGROUND-IMAGE: url(msgTopBg.gif); COLOR: #1f336b; PADDING-TOP: 4px;PADDING-left: 4px vAlign=center width=100%> 生日提示:</TD> <TD style=BACKGROUND-IMAGE: url(msgTopBg.gif); PADDING-TOP: 2px;PADDING-right:2px vAlign=center align=right width=19><span title=关闭 style=CURSOR: hand;color:red;font-size:12px;font-weight:bold;margin-right:4px; onclick=closeDiv() >×</span><!-- <IMG title=关闭 style=CURSOR: hand onclick=closeDiv() hspace=3 src=msgClose.jpg> --></TD> </TR> <TR> <TD style=PADDING-RIGHT: 1px; BACKGROUND-IMAGE: url(1msgBottomBg.jpg); PADDING-BOTTOM: 1px colSpan=3 height=90> <DIV style=BORDER-RIGHT: #b9c9ef 1px solid; PADDING-RIGHT: 13px; BORDER-TOP: #728eb8 1px solid; PADDING-LEFT: 13px; FONT-SIZE: 12px; PADDING-BOTTOM: 13px; BORDER-LEFT: #728eb8 1px solid; WIDTH: 100%; COLOR: #1f336b; PADDING-TOP: 18px; BORDER-BOTTOM: #b9c9ef 1px solid; HEIGHT: 100%>近期将要过生日的会员有:<BR><BR> <DIV align=center style=word-break:break-all> <%i=1 do while not rs.eof Response.Write("<a href=/System/AdmMember/Edit.asp?id="&rs(0)&" title=><font color=red>"&rs(1)&"</font></a>("&month(rs(2))&"-"&day(rs(2))&") ") if i mod 2 =0 then response.Write("</br>") rs.movenext i=i+1 loop%></DIV></DIV> </TD> </TR> </TBODY> </TABLE> </DIV> <% end if rs.close set rs=nothing conn.close() set conn=nothing %> 方法三: sql server: <% If month(Now())=12 and day(now())>24 Then sSql = "select FoodID, Strname, TimeID from Tfood where ( datediff(d,getdate(),dateadd(year,datediff(Year,TimeID,GetDate()),TimeID))<=200 and datediff(d,getdate(),dateadd(year,datediff(Year,TimeID,GetDate()),TimeID))>=0 ) Or ( datediff(d,getdate(),dateadd(year,datediff(Year,TimeID,GetDate())+1,TimeID))<=200 and datediff(d,getdate(),dateadd(year,datediff(Year,TimeID,GetDate())+1,TimeID))>=0 )" Else sSql = "select FoodID, Strname, TimeID from Tfood where ( datediff(d,getdate(),dateadd(year,datediff(Year,TimeID,GetDate()),TimeID))<=200 and datediff(d,getdate(),dateadd(year,datediff(Year,TimeID,GetDate()),TimeID))>=0 )" End If %> Access: <% If month(Now())=12 and day(now())>24 Then sSql = "SELECT * FROM customers WHERE ( datediff(d,date(),dateadd(yyyy,datediff(yyyy,Birthday,date()),Birthday))<=5 and datediff(d,date(),dateadd(yyyy,datediff(yyyy,Birthday,date()),Birthday))>=0 ) Or ( datediff(d,date(),dateadd(yyyy,datediff(yyyy,Birthday,date())+1,Birthday))<=5 and datediff(d,date(),dateadd(yyyy,datediff(yyyy,Birthday,date())+1,Birthday))>=0 );" Else sSql = "SELECT * FROM customers WHERE (DateDiff(d,date(),DateAdd(yyyy,DateDiff(yyyy,[Birthday],date()),[Birthday]))<=5 And DateDiff(d,date(),DateAdd(yyyy,DateDiff(yyyy,[Birthday],date()),[Birthday]))>=0);" End If %> |