منذ بعض الوقت، كتبت وظيفة بحث غامضة متعددة المجالات (على غرار Baidui). رمز الوظيفة هو كما يلي
'======================================================================== = =
'اسم الوظيفة: الكلمة الرئيسية_sousuo
'الوظيفة: إنشاء شروط استعلام SQL
'المعلمات: table_field ------ أسماء حقول الجدول (مفصولة بفواصل)
' الكلمة الرئيسية ------ البحث عن الكلمات الرئيسية (منفصلة بمسافات)
"العودة: شروط استعلام SQL
'======================================================================== = =
وظيفة الكلمة الأساسية_sousuo (byval table_field، الكلمة الأساسية byval)
خافت str01، str02، الكلمات الرئيسية، table_fields، i، j
table_fields=split(trim(table_field),,)
الكلمات الرئيسية = تقسيم (تقليم (الكلمة الرئيسية)،،)
إذا table_field<> إذن
str01=(&table_fields(0)& مثل '%&الكلمة الرئيسية&%'
لـ j=0 إلى ubound(table_fields)
str01=str01& أو &table_fields(j)& مثل '%&keyword&%'
التالي
str01=str01&)
آخر
Response.Write(<script>alert('خطأ في المعلمة (لا يمكن أن يكون فارغًا)!')</script>)
استجابة. النهاية ()
نهاية إذا
"العرض الكامل -> مساحة نصف العرض."
'الكلمة الرئيسية = استبدال (الكلمة الرئيسية،،)
"بينما InStr(الكلمة الرئيسية، )>0."
' الكلمة الرئيسية = استبدال (الكلمة الرئيسية،، )
'ويند
الكلمات الرئيسية = تقسيم (الكلمة الرئيسية،)
إذا ubound(keywords)>0 ثم
لأني=0 إلى ubound(الكلمات الرئيسية)
str02=str02&(&table_fields(0)& مثل '%&keywords(i)&%'
لـ j=1 إلى ubound(table_fields)
str02=str02& أو &table_fields(j)& مثل '%&keywords(i)&%'
التالي
str02=str02&)
التالي
str02=(&replace(str02,)(,)و()&)
الكلمة الرئيسية_sousuo=( & str01 & أو & str02 & )
آخر
الكلمة الرئيسية_sousuo=str01
نهاية إذا
وظيفة النهاية
'======================================================================== = =
'اسم الوظيفة: الكلمة الرئيسية_tag
'الوظيفة: قم بتمييز الكلمات الرئيسية في السلسلة باللون الأحمر
'المعلمة: سلسلة ------ سلسلة
' الكلمة الرئيسية ------ وضع علامة على الكلمات الرئيسية (منفصلة بمسافات)
'الإرجاع: سلسلة (تنسيق HTML)
'======================================================================== = =
وظيفة الكلمة الأساسية_العلامة (شارع byval، الكلمة الأساسية byval)
الكلمات الرئيسية المعتمة، str01، str02، i
"العرض الكامل -> مساحة نصف العرض."
'الكلمة الرئيسية = استبدال (الكلمة الرئيسية،،)
"بينما InStr(الكلمة الرئيسية، )>0."
' الكلمة الرئيسية = استبدال (الكلمة الرئيسية،، )
'ويند
str01=replace(str,keyword,<font color=#ff0000>&keyword&</font>)
الكلمات الرئيسية = تقسيم (الكلمة الرئيسية،)
إذا ubound(keywords)>0 ثم
str02=str
لأني=0 إلى ubound(الكلمات الرئيسية)
str02=replace(str02,keywords(i),<font color=#ff0000>&keywords(i)&</font>)
التالي
Keyword_tag=str02
آخر
Keyword_tag=str01
نهاية إذا
وظيفة النهاية
وفيما يلي مثال http://www.zhouhaihe.com/blog/uploads/200604/recordread.asp
<%@LANGUAGE=VBSCRIPT CODEPAGE=936%>
<%
الخيار صريح
خافت كون، كونستر، قاعدة البيانات
connstr=DBQ=+server.mappath(record.mdb)+;DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};
تعيين conn=server.CreateObject(adodb.connection)
conn.open connstr
dim n,rs,page,keyword,keywords,RecordCount,pageCount,pos,i,sql_where
ن = 50
صفحة=طلب(صفحة)
الكلمة = تقليم (طلب (الكلمة الرئيسية))
sql_where=keyword_sousuo(العنوان، تشيكوسلوفاكيا، الاسم، الوقت، الكلمة الرئيسية)
تعيين rs=server.CreateObject(adodb.recordset)
rs.open حدد * من السجل حيث &sql_where& الترتيب حسب المعرف desc,conn,1,2
إذا كانت الصفحة = 0 ثم
الصفحة=1
نهاية إذا
عدد السجلات = 0
تفعل في حين لا روبية.Eof
عدد السجلات = عدد السجلات +1
rs.MoveNext
حلقة
إذا لم يكن RecordCount = 0 ثم
rs.MoveFirst
نهاية إذا
pageCount=RecordCount/n
عدد الصفحات = كثافة العمليات (عدد الصفحات)
إذا (RecordCount mod n)>0 إذن
عدد الصفحات = عدد الصفحات +1
نهاية إذا
%>
<نوع النمط=نص/css>
<!--
.STYLE3 {اللون: #666666}
-->
</نمط>
<عرض الجدول=100% حد=0 تباعد الخلايا=0 خلية الحشو=0>
<معرف النموذج=اسم النموذج1=طريقة النموذج1=إجراء ما بعد=?><tr><td محاذاة=مركز><اسم الإدخال=نوع الكلمة الرئيسية=معرف النص=قيمة الكلمة الرئيسية=<%=الكلمة الرئيسية%> الحجم=30 />
<نوع الإدخال=اسم الإرسال=قيمة الإرسال=بحث/>
<span class=STYLE3>(افصل بين الكلمات الرئيسية بمسافات) </span></td>
</tr></form>
<تر>
<ارتفاع td=5></td>
</الجدول>
<عرض الجدول=600 حد=1 محاذاة=حشوة الخلية المركزية=4>
<tr محاذاة=المركز>
<td width=131>العنوان</td>
<td width=131>الإجراء</td>
<td width=131>اسم المستخدم</td>
<td width=132>الوقت</td>
</tr>
<%pos=0
افعل ذلك أثناء نقاط البيع<(page-1)*n
نقاط البيع=نقاط البيع+1
rs.moveNext
حلقة
أنا = 0
بينما لا rs.eof وi<n
أنا=أنا+1%>
<tr محاذاة=المركز>
<td><%=keyword_tag(rs(title),الكلمة الرئيسية)%></td>
<td><%=keyword_tag(rs(cz),الكلمة الرئيسية)%></td>
<td><%=keyword_tag(rs(name),الكلمة الرئيسية)%></td>
<td><%=keyword_tag(rs(time),الكلمة الرئيسية)%></td>
</tr>
<%rs.movenext
com.wind
rs. Close
تعيين RS=لا شيء
conn. Close
تعيين كون = لا شيء
'======================================================================== = =
'اسم الوظيفة: الكلمة الرئيسية_sousuo
'الوظيفة: إنشاء شروط استعلام SQL
'المعلمات: table_field ------ أسماء حقول الجدول (مفصولة بفواصل)
' الكلمة الرئيسية ------ البحث عن الكلمات الرئيسية (منفصلة بمسافات)
"العودة: شروط استعلام SQL
'======================================================================== = =
وظيفة الكلمة الأساسية_sousuo (byval table_field، الكلمة الأساسية byval)
خافت str01، str02، الكلمات الرئيسية، table_fields، i، j
table_fields=split(trim(table_field),,)
الكلمات الرئيسية = تقسيم (تقليم (الكلمة الرئيسية)،،)
إذا table_field<> إذن
str01=(&table_fields(0)& مثل '%&الكلمة الرئيسية&%'
لـ j=0 إلى ubound(table_fields)
str01=str01& أو &table_fields(j)& مثل '%&keyword&%'
التالي
str01=str01&)
آخر
Response.Write(<script>alert('خطأ في المعلمة (لا يمكن أن يكون فارغًا)!')</script>)
استجابة. النهاية ()
نهاية إذا
"العرض الكامل -> مساحة نصف العرض."
الكلمة الرئيسية = استبدال (الكلمة الرئيسية،،)
'بينما InStr(الكلمة الرئيسية، )>0
' الكلمة الرئيسية = استبدال (الكلمة الرئيسية،،)
'ويند
الكلمات الرئيسية = تقسيم (الكلمة الرئيسية،)
إذا ubound(keywords)>0 ثم
لأني=0 إلى ubound(الكلمات الرئيسية)
str02=str02&(&table_fields(0)& مثل '%&keywords(i)&%'
لـ j=1 إلى ubound(table_fields)
str02=str02& أو &table_fields(j)& مثل '%&keywords(i)&%'
التالي
str02=str02&)
التالي
str02=(&replace(str02,)(,)و()&)
الكلمة الرئيسية_sousuo=( & str01 & أو & str02 & )
آخر
الكلمة الرئيسية_sousuo=str01
نهاية إذا
وظيفة النهاية
'======================================================================== = =
'اسم الوظيفة: الكلمة الرئيسية_tag
'الوظيفة: قم بتمييز الكلمات الرئيسية في السلسلة باللون الأحمر
'المعلمة: سلسلة ------ سلسلة
' الكلمة الرئيسية ------ وضع علامة على الكلمات الرئيسية (منفصلة بمسافات)
'الإرجاع: سلسلة (تنسيق HTML)
'======================================================================== = =
وظيفة الكلمة الأساسية_العلامة (شارع byval، الكلمة الأساسية byval)
الكلمات الرئيسية المعتمة، str01، str02، i
"العرض الكامل -> مساحة نصف العرض."
الكلمة الرئيسية = استبدال (الكلمة الرئيسية،،)
'بينما InStr(الكلمة الرئيسية، )>0
' الكلمة الرئيسية = استبدال (الكلمة الرئيسية،، )
'ويند
str01=replace(str,keyword,<font color=#ff0000>&keyword&</font>)
الكلمات الرئيسية = تقسيم (الكلمة الرئيسية،)
إذا ubound(keywords)>0 ثم
str02=str
لأني=0 إلى ubound(الكلمات الرئيسية)
str02=replace(str02,keywords(i),<font color=#ff0000>&keywords(i)&</font>)
التالي
Keyword_tag=str02
آخر
Keyword_tag=str01
نهاية إذا
وظيفة النهاية
خافت ذ
%> <tr align=center>
<td colspan=4> <%=RecordCount%><font color=#FF0000><%=page%></font>/<%=pageCount%> الصفحات
<%=n%> من الصفحات/الصفحة انتقل إلى:
<SELECT name=select onchange=window.open(this.options[selectedIndex].value,'_self') >
<%ص=1
افعل ذلك أثناء y<pagecount+1%>
<OPTION value=?page=<%=y%>&keyword=<%=server.URLEncode(keyword)%> <%if cstr(page)=cstr(y) ثم الاستجابة.اكتب (محدد) النهاية if%> > الصفحة <%=y%></OPTION>
<%ص=ص+1
حلقة٪>
</SELECT></TD>
</tr>
</الجدول>