يتمثل مبدأ تذكير عيد ميلاد asp بشكل عام في مقارنة تاريخ ميلاد المستخدم بالتاريخ الحالي، إذا كان أقل من بضعة أيام، فسيتم عرض التذكير فيما يلي عدة طرق لتنفيذ برنامج التذكير التلقائي لعيد ميلاد asp مكتوب بلغة ASP، وتم تصحيح الأخطاء، وسهل الاستخدام - يقوم عيد ميلاد ASP تلقائيًا بتذكير البرامج الصغيرة بإعداد ASP، وتصحيح الأخطاء، وسهل الاستخدام
الطريقة الأولى:
برنامج صغير تمت كتابته في الأصل لاستخدامه على موقع الفصل الإلكتروني لتذكير زملاء الفصل بأعياد ميلادهم في الشهر الماضي. على الرغم من أنها ليست جيدة جدًا، وهي فوضوية جدًا، إلا أنها على الأقل شيء استخدمت عقلي للتفكير فيه، لذلك أقدره أكثر. على الرغم من وجود العديد من برامج ASP التي يمكن تعلمها من الآخرين. لكنني أعتقد أنه في كثير من الأحيان، يجب أن نتميز عن الكلاسيكيات ونبتكر، حتى لا نلتزم بالقواعد القديمة ونكون مجرد مبرمجين عاديين إلى الأبد.
<%
خافت Daydif
أيام خافتة 'حدد عدد الأيام قبل وبعد الاستعلام عن الطلاب الذين تقع أعياد ميلادهم ضمنه، على سبيل المثال، 60 استعلامًا عن قائمة الطلاب الذين تقع أعياد ميلادهم في الشهر التالي بعد الشهر السابق.
SQL=اختر الاسم،عيد الميلاد من الفصل
تعيين rs=server.CreateObject(ADODB.RecordSet)
rs.Open SQL، يخدع، 1،1
لـ i=1 إلى rs.recordcount 'اقرأ كافة البيانات
إذا rs.eof ثم الخروج ل
daydif=abs(datediff(d,date,rs(birthday)) )mod 365
إذا daydif < أيام
Response.write rs(name)%>
استجابة.كتابة <font color=#FF0000>
Response.write rs(birthday)&、</font>
نهاية إذا
rs.movenext
حلقة
روبية. إغلاق
اضبط rs = لا شيء
%>
الطريقة الثانية:
<%
أيام1=تقسيم(تاريخ(),-)
days2=split(DateAdd(d,5,date()),-)
sql=select [id],Memberid,عيد ميلاد من العملاء
إذا كانت الأيام 1 (1) <> الأيام 2 (1) إذن
sql=sql+ حيث (الشهر(عيد الميلاد) = '&days1(1)&' أو الشهر(birthday)='&days2(1)&')
آخر
sql=sql+ حيث الشهر(عيد الميلاد) = '&days1(1)&'
نهاية إذا
sql=sql+ وday(birthday) بين '&days1(2)&' و'&days2(2)&'
"الاستجابة. الكتابة (SQL)
تعيين conn=server.CreateObject(ADODB.connection)
conn.open connstr
تعيين rs=Conn.execute(sql)
إذا لم يكن rs.eof ثم٪>
<لغة البرنامج النصي=جافا سكريبت>
window.onload = getMsg;
window.onresize = resizeDiv;
window.onerror = الدالة(){}
// استخدام تذكير الرسائل القصيرة (أضيف بواسطة asilas)
var divTop,divLeft,divWidth,divHeight,docHeight,docWidth,objTimer,i = 0;
الدالة getMsg()
{
يحاول{
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)
}
قبض (ه) {}
}
تغيير حجم الدالة ()
{
أنا+=1
إذا (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)
}
قبض (ه) {}
}
دالة moveDiv()
{
يحاول
{
إذا (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
}
قبض (ه) {}
}
دالة CloseDiv()
{
document.getElementById('eMeng').style.visibility='hidden';
إذا (objTimer) window.clearInterval (objTimer)
}
</script>
<DIV id=eMeng style='BORDER-RIGHT: #455690 1px Solid; BORDER-TOP: #a6b4cf 1px Solid; : 180 بكسل؛ #455690 1 بكسل صلب؛ الموضع: مطلق؛ الأعلى: 0 بكسل؛
<TABLE style='BORDER-TOP: #ffffff 1px Solid;
<TR>
<نمط TD='FONT-SIZE: 12px; BACKGROUND-IMAGE: url(msgTopBg.gif);
<نمط TD='FONT-WEIGHT: عادي؛ حجم الخط: 12 بكسل; صورة الخلفية: url(msgTopBg.gif); '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='PADDING-RIGHT: 1px; BACKGROUND-IMAGE: url(1msgBottomBg.jpg); -اليمين: 13 بكسل؛ الحدود العلوية: #728eb8 1px الصلبة: 13px؛ حجم الخط: 12px؛ BORDER-LEFT: #728eb8 1px الصلبة؛ Solid HEIGHT: 100%'>الأعضاء الذين سيكون لديهم أعياد ميلاد في المستقبل القريب هم:<BR><BR> <DIV align=center style='word-break:break-all'>
<%أنا=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>
</الجدول>
</DIV>
<% نهاية إذا
rs. Close
تعيين RS=لا شيء
كون.إغلاق ()
اضبط conn = لا شيء %>
الطريقة الثالثة:
خادم SQL:
<%
إذا كان الشهر(الآن())=12 واليوم(الآن())>24 ثم
sSql = حدد FoodID وStrname وTimeID من Tfood حيث ( datediff(d,getdate(),dateadd(year,datediff(Year,TimeID,GetDate()),TimeID))<=200 و datediff(d,getdate(), dateadd(year,datediff(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 = حدد FoodID وStrname وTimeID من Tfood حيث ( datediff(d,getdate(),dateadd(year,datediff(Year,TimeID,GetDate()),TimeID))<=200 و datediff(d,getdate(), dateadd(year,datediff(Year,TimeID,GetDate()),TimeID))>=0 )
نهاية إذا
%>
وصول:
<%
إذا كان الشهر(الآن())=12 واليوم(الآن())>24 ثم
سقل = حدد *
من العملاء
أين ( 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 );
آخر
سقل = حدد *
من العملاء
أين (DateDiff('d',date(),DateAdd('yyyy',DateDiff('yyyy',[Birthday],date()),[Birthday]))<=5 و DateDiff('d',date(),DateAdd('yyyy',DateDiff('yyyy',[Birthday],date()),[Birthday]))>=0);
نهاية إذا
%>