O princípio do lembrete de aniversário asp é geralmente comparar a data de nascimento do usuário com a data atual. Se for inferior a alguns dias, o lembrete será exibido. A seguir estão vários métodos para implementar o miniaplicativo de lembrete automático de aniversário asp. escrito em ASP, depuração aprovada e fácil de usar - aniversário asp lembra automaticamente pequenos programas com a preparação de ASP, depuração, fácil de usar
Método um:
Um pequeno programa originalmente escrito para uso no site da turma para lembrar os colegas de seus aniversários no mês anterior. Embora não seja muito bom e seja muito confuso, pelo menos é algo em que usei meu próprio cérebro para pensar, então dou mais valor. Embora existam muitos programas ASP que podem ser aprendidos com outros. Mas acho que com mais frequência devemos nos destacar dos clássicos e inovar, para não nos atermos às regras antigas e sermos apenas um programador comum para sempre.
<%
diurno diurno
dim dias 'define o número de dias antes e depois de consultar os alunos cujos aniversários estão dentro. Por exemplo, 60 consulta a lista de alunos cujos aniversários são no mês seguinte ao mês anterior.
SQL=Selecione nome, aniversário da turma
Definir rs=server.CreateObject(ADODB.RecordSet)
rs.Open SQL,con,1,1
para i=1 para rs.recordcount 'Lê todos os dados
se rs.eof então saia para
daydif=abs(datadoiff(d,data,rs(aniversário)) )mod 365
if daydif < dias
resposta.write rs(nome)%>
resposta.write <font color=#FF0000>
resposta.write rs(aniversário)&、</font>
terminar se
rs.movnext
laço
rs.Fechar
Defina rs = nada
%>
Método dois:
<%
dias1=divisão(data(),-)
dias2=dividir(DataAdicionar(d,5,data()),-)
sql=select [id],Memberid,aniversário dos clientes
se dias1(1)<>dias2(1) então
sql=sql+ onde (mês(aniversário) = '&dias1(1)&' ou mês(aniversário)='&dias2(1)&')
outro
sql=sql+ onde mês(aniversário) = '&dias1(1)&'
terminar se
sql=sql+ e dia(aniversário) entre '&dias1(2)&' e '&dias2(2)&'
'Resposta.Write(sql)
definir conn=server.CreateObject(ADODB.connection)
conn.open connstr
definir rs=Conn.execute(sql)
se não rs.eof então%>
<linguagem de script=JavaScript>
janela.onload=getMsg;
janela.onresize=resizeDiv;
janela.onerror=função(){}
//Uso de lembrete por SMS (adicionado por asilas)
var divTop,divLeft,divWidth,divHeight,docHeight,docWidth,objTimer,i = 0;
função getMsg()
{
tentar{
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=visível
objTimer = window.setInterval(moveDiv(),10)
}
pegar(e){}
}
função redimensionarDiv()
{
eu+=1
if(i>500) closeDiv()
tentar{
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)
}
pegar(e){}
}
função moveDiv()
{
tentar
{
if(parseInt(document.getElementById(eMeng).style.top,10) <= (docHeight - divHeight + parseInt(document.body.scrollTop,10)))
{
janela.clearInterval(objTimer)
objTimer = window.setInterval(resizeDiv(),1)
}
divTop = parseInt(document.getElementById(eMeng).style.top,10)
document.getElementById(eMeng).style.top = divTop - 1
}
pegar(e){}
}
função closeDiv()
{
document.getElementById('eMeng').style.visibility='oculto';
if(objTimer) janela.clearInterval(objTimer)
}
</script>
<DIV id=eMeng style='BORDER-RIGHT: #455690 1px sólido; BORDER-LEFT: #a6b4cf 1px sólido; : 180px; BORDA INFERIOR: #455690 1px sólido; POSIÇÃO: absoluto; 0px; ALTURA: 116px; COR DE FUNDO: #c9d3f3'>
<TABLE style='BORDER-TOP: #ffffff 1px sólido; BORDER-LEFT: #ffffff 1px sólido' cellSpacing=0 cellPadding=0 width='100%' bgColor=#cfdef4 border=0><TBODY>
<TR>
<TD style='FONT-SIZE: 12px; BACKGROUND-IMAGE: url(msgTopBg.gif);
<TD style='FONT-WEIGHT: normal; FONT-SIZE: 12px; PADDING-IMAGE: url(msgTopBg.gif); '100%'>Lembrete de aniversário:</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 sólido; -DIREITA: 13px; BORDA SUPERIOR: #728eb8; 1px sólido; PADDING-LEFT: 13px; TAMANHO DA FONTE: 12px; PADDING-INFERIOR: 13px; solid; HEIGHT: 100%'>Os membros que farão aniversário em um futuro próximo são:<BR><BR> <DIV align=center style='word-break:break-all'>
<%i=1
faça enquanto não rs.eof
Response.Write(<a href='/System/AdmMember/Edit.asp?id=&rs(0)&' />se eu mod 2 =0 então response.Write(</br>)
rs.movnext
eu=eu+1
loop%></DIV></DIV> </TD>
</TR>
</TBODY>
</TABELA>
</DIV>
<% fim se
rs.fechar
definir rs = nada
conexão.close()
definir conexão=nada %>
Método três:
servidor SQL:
<%
Se mês(Agora())=12 e dia(agora())>24 Então
sSql = selecione FoodID, Strname, TimeID de Tfood onde ( datediff(d,getdate(),dateadd(year,datediff(Year,TimeID,GetDate()),TimeID))<=200 e datediff(d,getdate(), dateadd(year,datediff(Year,TimeID,GetDate()),TimeID))>=0 ) Ou ( datediff(d,getdate(),dateadd(year,datediff(Year,TimeID,GetDate())+1,TimeID))<=200 e datediff(d,getdate(),dateadd(year,datediff(Year,TimeID, GetDate())+1,TimeID))>=0 )
Outro
sSql = selecione FoodID, Strname, TimeID de Tfood onde ( datediff(d,getdate(),dateadd(year,datediff(Year,TimeID,GetDate()),TimeID))<=200 e datediff(d,getdate(), dateadd(ano,datadoiff(Ano,TimeID,GetDate()),TimeID))>=0 )
Terminar se
%>
Acesso:
<%
Se mês(Agora())=12 e dia(agora())>24 Então
SQL = SELECIONE *
DE clientes
WHERE ( datediff('d',date(),dateadd('yyyy',datediff('yyyy',Birthday,date()),Birthday))<=5 e datediff('d',date(),dateadd( 'aaaa',datadoiff('aaaa',Aniversário,data()),Aniversário))>=0 ) Ou ( datediff('d',date(),dateadd('yyyy',datediff('yyyy',Birthday,date())+1,Birthday))<=5 e datediff('d',date(),dateadd( 'aaaa',datadoiff('aaaa',Aniversário,data())+1,Aniversário))>=0 );
Outro
SQL = SELECIONE *
DE clientes
WHERE (DateDiff('d',date(),DateAdd('yyyy',DateDiff('yyyy',[Aniversário],data()),[Aniversário]))<=5 E DateDiff('d',data(),DateAdd('aaaa',DateDiff('aaaa',[Aniversário],data()),[Aniversário]))>=0);
Terminar se
%>