ASP 생일 알림의 원칙은 일반적으로 사용자의 생년월일을 현재 날짜와 비교하는 것입니다. 며칠 미만인 경우 ASP 생일 자동 알림 애플릿을 구현하는 몇 가지 방법이 있습니다. ASP로 작성되고 디버깅을 통과했으며 사용하기 쉽습니다. ASP 생일은 ASP 준비, 디버그, 사용하기 쉬운 작은 프로그램을 자동으로 상기시킵니다.
방법 1:
원래 지난 달의 생일을 급우들에게 상기시키기 위해 학급 웹사이트에서 사용하기 위해 작성된 작은 프로그램입니다. 비록 좋지는 않고, 매우 지저분하지만, 적어도 그것은 내 두뇌를 사용하여 생각한 것이기 때문에 더 가치있게 생각합니다. 다른 사람에게서 배울 수 있는 ASP 프로그램이 많이 있지만. 그러나 나는 더 자주 우리가 고전에서 벗어나 혁신해야 한다고 생각합니다. 그래야 낡은 규칙을 고수하지 않고 영원히 평범한 프로그래머로만 남을 수 있기 때문입니다.
<%
희미한 낮
Dim days'는 생일이 다음달인 학생의 목록을 조회하기 전과 후의 일수를 정의합니다.
SQL=수업에서 이름,생일 선택
rs=server.CreateObject(ADODB.RecordSet)를 설정합니다.
rs.SQL 열기,con,1,1
for i=1 to rs.recordcount '모든 데이터 읽기
rs.eof인 경우 종료합니다.
daydif=abs(dateiff(d,date,rs(생일)) )mod 365
daydif < 일인 경우
response.write rs(이름)%>
response.write <글꼴 색상=#FF0000>
response.write rs(생일)&、</font>
종료하면
rs.movenext
고리
RS.닫기
rs=아무것도 설정하지 않음
%>
방법 2:
<%
days1=분할(날짜(),-)
days2=split(DateAdd(d,5,date()),-)
sql=고객의 [id], Memberid, 생일을 선택하세요.
일1(1)<>일2(1)이면
sql=sql+ 여기서 (월(생일) = '&days1(1)&' 또는 월(생일)='&days2(1)&')
또 다른
sql=sql+ 여기서 월(생일) = '&days1(1)&'
종료하면
sql=sql+ 및 '&days1(2)&'와 '&days2(2)&' 사이의 day(생일)
'응답.쓰기(sql)
conn=server.CreateObject(ADODB.connection) 설정
conn.open 연결
rs=Conn.execute(sql) 설정
rs.eof가 아니면 %>
<스크립트 언어=자바스크립트>
window.onload = getMsg;
window.onresize = resizeDiv;
window.onerror = 함수(){}
//SMS 알림 사용법(asilas에 의해 추가됨)
var divTop,divLeft,divWidth,divHeight,docHeight,docWidth,objTimer,i = 0;
함수 getMsg()
{
노력하다{
divTop = parsInt(document.getElementById(eMeng).style.top,10)
divLeft = parsInt(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 = parsInt(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)
}
잡기(e){}
}
함수 resizeDiv()
{
나는+=1
if(i>500) closeDiv()
노력하다{
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)
}
잡기(e){}
}
함수 moveDiv()
{
노력하다
{
if(parseInt(document.getElementById(eMeng).style.top,10) <= (docHeight - divHeight +parseInt(document.body.scrollTop,10)))
{
window.clearInterval(objTimer)
objTimer = window.setInterval(resizeDiv(),1)
}
divTop = parsInt(document.getElementById(eMeng).style.top,10)
document.getElementById(eMeng).style.top = divTop - 1
}
잡기(e){}
}
함수 closeDiv()
{
document.getElementById('eMeng').style.visibility='hidden';
if(objTimer) window.clearInterval(objTimer)
}
</script>
<DIV id=eMeng style='BORDER-RIGHT: #455690 BORDER-TOP: #a6b4cf 1px Z-INDEX:99999 VISIBILITY: #a6b4cf 1px WIDTH; : 180px 테두리-하단: #455690 1px 솔리드; TOP: 0px BACKGROUND-COLOR: #c9d3f3'>
<TABLE 스타일='BORDER-TOP: #ffffff 1px 솔리드; #ffffff 1px 솔리드' cellSpacing=0 cellPadding=0 너비='100%' bgColor=#cfdef4 border=0><TBODY>
<TR>
<TD 스타일='FONT-SIZE: 12px; 배경-이미지: url(msgTopBg.gif) 색상: #0f2c8c' 너비=30 높이=24></TD>
<TD 스타일='FONT-WEIGHT: 일반; FONT-SIZE: 12px; BACKGROUND-IMAGE: url(msgTopBg.gif) COLOR: #1f336b; PADDING-TOP: 4px' vAlign=가운데 너비= '100%'>생일 알림:</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; -오른쪽: 13px 테두리-위: #728eb8 1px 솔리드; FONT-SIZE: 12px; 테두리-LEFT: #728eb8 1px 너비: #1f336b; solid; HEIGHT: 100%'>가까운 미래에 생일을 맞이할 회원은 다음과 같습니다.<BR><BR> <DIV align=center style='word-break:break-all'>
<%i=1
rs.eof가 아닌 동안 수행
Response.Write(<a href='/System/AdmMember/Edit.asp?id=&rs(0)&' />mod 2 =0인 경우 response.Write(</br>)
rs.movenext
나=나+1
루프%></DIV></DIV> </TD>
</TR>
</TBODY>
</TABLE>
</DIV>
<% 종료되는 경우
RS.닫기
rs=아무것도 설정하지 않음
연결.닫기()
conn=아무것도 설정하지 않음 %>
방법 3:
SQL 서버:
<%
월(현재())=12이고 일(현재())>24인 경우
sSql = Tfood에서 FoodID, Strname, TimeID를 선택합니다. 여기서 ( datediff(d,getdate(),dateadd(year,datediff(Year,TimeID,GetDate()),TimeID))<=200 및 datediff(d,getdate(), dateadd(year,dateiff(Year,TimeID,GetDate()),TimeID))>=0 ) 또는 ( datediff(d,getdate(),dateadd(year,datediff(Year,TimeID,GetDate())+1,TimeID))<=200 및 datediff(d,getdate(),dateadd(year,datediff(Year,TimeID, GetDate())+1,TimeID))>=0 )
또 다른
sSql = Tfood에서 FoodID, Strname, TimeID를 선택합니다. 여기서 ( datediff(d,getdate(),dateadd(year,datediff(Year,TimeID,GetDate()),TimeID))<=200 및 datediff(d,getdate(), dateadd(연도,dateiff(연도,TimeID,GetDate()),TimeID))>=0 )
종료 조건
%>
입장:
<%
월(현재())=12이고 일(현재())>24인 경우
sSql = 선택 *
고객으로부터
WHERE ( datediff('d',date(),dateadd('yyyy',datediff('yyyy',Birthday,date()),Birthday))<=5 및 datediff('d',date(),dateadd( 'yyyy',datediff('yyyy',Birthday,date()),Birthday))>=0 ) 또는 ( datediff('d',date(),dateadd('yyyy',datediff('yyyy',Birthday,date())+1,Birthday))<=5 및 datediff('d',date(),dateadd( 'yyyy',datediff('yyyy',Birthday,date())+1,Birthday))>=0 );
또 다른
sSql = 선택 *
고객으로부터
WHERE (DateDiff('d',date(),DateAdd('yyyy',DateDiff('yyyy',[생일],date()),[생일]))<=5 그리고 DateDiff('d',date(),DateAdd('yyyy',DateDiff('yyyy',[생일],date()),[생일]))>=0);
종료 조건
%>