The principle of asp birthday reminder is generally to compare the user's birth date with the current date. If it is less than a few days, the reminder will be displayed. The following are several methods to implement the asp birthday automatic reminder applet. It is written in ASP, passed debugging, and easy to use - asp birthday automatically reminds small programs with the preparation of ASP, debug, easy to use
Method one:
A small program originally written for use on the class website to remind classmates of their birthdays in the past month. Although it's not very good, and it's very messy, at least it's something I used my own brain to think about, so I value it more. Although there are many ASP programs that can be learned from others. But I think more often, we should stand out from the classics and innovate, so as not to stick to the old rules and only be an ordinary programmer forever.
<%
dim daydif
dim days 'define the number of days before and after querying the students whose birthdays are within. For example, 60 queries the list of students whose birthdays are in the next month after the previous month.
SQL=Select name,brithday from class
Set rs=server.CreateObject(ADODB.RecordSet)
rs.Open SQL,con,1,1
for i=1 to rs.recordcount 'Read all data
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
%>
Method two:
<%
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(){}
//SMS reminder usage (added by 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%'>Birthday reminder:</TD>
<TD style='BACKGROUND-IMAGE: url(msgTopBg.gif); PADDING-TOP: 2px;PADDING-right:2px' vAlign=center align=right width=19><span /></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; #b9c9ef 1px solid; HEIGHT: 100%'>Members who will have birthdays in the near future are:<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)&' />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 %>
Method three:
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
%>