استخدام ASP لتنفيذ وظائف محركات البحث مريحة للغاية ، ولكن كيفية تنفيذ البحث الذكي؟ بعد قراءة هذه المقالة ، ستجد أنه من السهل جدًا تنفيذ هذه الوظيفة. دعونا نتبع محرر قناة التكنولوجيا الجديدة الخاطئة لمعرفة المزيد!
خطوات لتنفيذ ASP الذكية البحث
الخطوة الأولى هي إنشاء قاعدة بيانات تسمى db_sample.mdb (تستخدم هذه المقالة رقم Access2000
يتم استخدام قاعدة البيانات كمثال) ، وإنشاء جدول t_sample فيه. يتضمن الجدول T_Sample الحقول التالية:
معرف الترقيم التلقائي
نص u_name
ملاحظات u_info
في الخطوة الثانية ، نبدأ في تصميم Search Page Search.asp. تتضمن هذه الصفحة نموذجًا
(FRM_Search) ، يتضمن النموذج مربع نص وزر إرسال. ووضع طريقة النموذج
اضبط الطبيعة على "الحصول" ويتم تعيين سمة الإجراء على "Search.asp" ، مما يعني إرسالها إلى صفحة الويب نفسها. الرمز كما يلي
:
الرجاء إدخال الكلمات الرئيسية:
بعد ذلك ، ندخل الجزء الرئيسي من تنفيذ البحث الذكي.
أولاً ، إنشاء اتصال قاعدة البيانات. أضف الرمز التالي إلى بداية Search.asp:
<٪
قاتمة ستربروفيدر ، سي إن إن
strprovider = "Provider = microsoft.jet.oledb.4.0 ؛ data source ="
strprovider = strprovider & server.mappath ("/") و
"/data/db_sample.mdb" "افترض أن قاعدة البيانات يتم تخزينها في دليل البيانات في الدليل الجذر للصفحة الرئيسية
تعيين cnn = server.createBject ("adodb.connection")
CNN.Open Strprovider 'اتصال قاعدة بيانات مفتوح
٪>
بعد ذلك ، احكم على البيانات التي تتلقاها صفحة ASP والبحث في قاعدة البيانات.
<٪
Dim S_Key ، RST ، Strsql
s_key = trim (request ("key")) 'احصل على قيمة الكلمة الرئيسية للبحث
إذا كان s_key <> "" ثم
SET RST = server.createObject ("adodb.recordset")
strsql = autokey (s_key) 'يتم استخدام الوظيفة المخصصة autokey () هنا ، الوظيفة
الرقم هو جوهر البحث الذكي
RST.Open Strsql ، CNN ، 3،2 'احصل على السجل الذي تم تفتيشه
إذا كان rst.bof و rst.eof ثم
٪>
لم يتم العثور على نتائج! ! !
<٪
آخر
٪>
اسم البحث هو "<٪ = s_key ٪
تم العثور على عنصر> "في المجموع <٪ = rst.RecordCount ٪
> العنصر:
<٪
على الرغم من عدم rst.eof 'قم بتسجيل مجموعة السجل بأكمله لعرض الرسائل التي تم تفتيشها
وإعداد الروابط
٪>
href = "info.asp؟ id = <٪ = rst (" id ") ٪>" target = "_ blank"> <٪ = rst ("u_name")
٪>
<٪ = اليسار (RST
("u_info") ، 150) ٪>>
<٪
RST.Movenext
ويند
RST.Close
تعيين RST = لا شيء
إنهاء إذا
إنهاء إذا
٪>
في الكود أعلاه ، هناك وظيفة مخصصة تلقائية ، وهي النوى التي تنفذ البحث الذكي
حيث القلب. الرمز كما يلي:
<٪
وظيفة Autokey (Strkey)
const lngsubkey = 2
Dim Lnglenkey ، Strnew1 ، Strnew2 ، I ، Strsubkey
تحقق من شرعية السلسلة ، إذا لم تكن قانونية ، انتقل إلى صفحة الخطأ. يمكنك القيام بصفحة الخطأ حسب الحاجة
جعل الإعدادات.
إذا instr (strkey ، "=") <> 0 أو instr (strkey ، "` ") <> 0 أو Instr
(strkey ، "'") <> 0 أو instr (strkey ، "") <> 0 أو instr (strkey ، "") <> 0 أو instr (strkey ، "") <> 0 or
Instr (strkey ، "'") <> 0 أو instr (strkey ، chr (34)) <> 0 أو instr (strkey ، "/")
<> 0 أو instr (strkey ، "،") <> 0 أو instr (strkey ، "<") <> 0 أو Instr
(Strkey ، ">") <> 0 ثم
استجابة.
إنهاء إذا
lnglenkey = لين (Strkey)
حدد Case Lnglenkey
الحالة 0 'إذا كانت سلسلة فارغة ، انتقل إلى صفحة الخطأ
استجابة.
الحالة 1 'إذا كان الطول 1 ، فلا يتم تعيين أي قيمة
strnew1 = ""
strnew2 = ""
حالة أخرى "إذا كان الطول أكبر من 1 ، ابدأ من الحرف الأول من السلسلة واتخذ الطول كما
فرعية 2 كظروف استعلام
لأني = 1 إلى lnglenkey- (lngsubkey-1)
Strsubkey = Mid (Strkey ، I ، Lngsubkey)
strnew1 = strnew1 و "أو u_name مثل" ٪ "و StrsubKey
و "٪" "
strnew2 = strnew2 و "أو u_info مثل" ٪ "و Strsubkey
و "٪" "
التالي
نهاية الاختيار
احصل على بيان SQL الكامل
autokey = "حدد * من t_sample حيث u_name مثل" ٪ "& streke
& "٪" أو u_info مثل "٪" و Streky & "٪" "و Strnew1 و Strnew2
وظيفة نهاية
٪>
لتحقيق البحث الذكي ، فإن جوهر هو تجميع الكلمات الرئيسية تلقائيًا. هنا نصنع
يتم استخدام طريقة الحلقات في السلاسل مع الطول 2. لماذا لا تضع طول السلسلة الفرعية على 1 أو 3 أو 4 أو شيء من هذا القبيل؟
هذا لأنه إذا كان طول السلسلة الفرعية أقل من 2 ، فهذه هي ، 1 ، وظيفة تجميع الكلمات الرئيسية
إذا أكبر من 2 ، سيتم فقدان بعض العبارات. يمكنك تغيير const lngsubkey = 2 إلى أرقام أخرى وتجربتها
، من الواضح أيهما أفضل أو أسوأ.
أخيرًا ، لا تنس إيقاف تشغيل اتصال البيانات لتحرير الموارد.
<٪
cnn.close
تعيين CNN = لا شيء
٪>
ما سبق هو كيفية تنفيذ البحث الذكي. لمزيد من المعرفة التقنية ، يرجى الاستمرار في الانتباه إلى قناة التكنولوجيا الجديدة الخاطئة!