إنشاء صفحات البحث والنتائج

تاريخ آخر تحديث 25‏/04‏/2024
ملاحظة

تم تبسيط واجهة المستخدم في Dreamweaver والإصدارات الأحدث. ونتيجة لذلك، قد لا تجد بعض الخيارات الموضحة في هذه المقالة في Dreamweaver والإصدارات اللاحقة. للاطلاع على المزيد من المعلومات، راجع هذه المقالة.

مقدمة عن صفحات البحث والنتائج

يمكنك استخدام Dreamweaver لإنشاء مجموعة من الصفحات للسماح للمستخدمين بالبحث في قاعدة البيانات وعرض نتائج البحث.

في معظم الحالات، تحتاج إلى صفحتين على الأقل لإضافة هذه الميزة إلى تطبيق الويب الخاص بك. الصفحة الأولى هي صفحة تحتوي على نموذج HTML يدخل فيه المستخدمون معاملات البحث. على الرغم من أن هذه الصفحة لا تقوم بأي بحث فعلي، إلا أنها تُشار إليها باسم صفحة البحث.

الصفحة الثانية التي تحتاجها هي صفحة النتائج، والتي تنجز معظم العمل. تقوم صفحة النتائج بالمهام التالية:

  • تقرأ معلمات البحث المرسلة من صفحة البحث

  • تتصل بقاعدة البيانات وتبحث عن السجلات

  • تقوم بإنشاء مجموعة سجلات مع السجلات التي تم العثور عليها

  • تعرض محتويات مجموعة السجلات

    اختياريًا، يمكنك إضافة صفحة تفاصيل. تعطي صفحة التفاصيل المستخدمين مزيدًا من المعلومات حول سجل معين في صفحة النتائج.

    إذا كان لديك معامل بحث واحد فقط، يتيح لك Dreamweaver إضافة إمكانيات البحث إلى تطبيق الويب الخاص بك دون استخدام استعلامات SQL والمتغيرات.ببساطة قم بتصميم صفحاتك واملأ بعض مربعات الحوار. إذا كان لديك أكثر من معامل بحث واحد، تحتاج إلى كتابة بيان SQL وتعريف متغيرات متعددة له.

    يدرج Dreamweaver استعلام SQL في صفحتك. عند تشغيل الصفحة على الخادم، يتم فحص كل سجل في جدول قاعدة البيانات. إذا كان الحقل المحدد في السجل يلبي شروط استعلام SQL الخاص بك، يتم تضمين السجل في مجموعة السجلات. استعلام SQL في الواقع ينشئ مجموعة سجلات تحتوي فقط على نتائج البحث.

    على سبيل المثال، قد يكون لدى موظفي المبيعات الميدانيين معلومات حول العملاء في منطقة محددة الذين لديهم دخل أعلى من مستوى محدد.في نموذج على صفحة البحث، يدخل مندوب المبيعات منطقة جغرافية ومستوى دخل أدنى، ثم ينقر على زر الإرسال لإرسال القيمتين إلى الخادم. على الخادم، يتم تمرير القيم إلى بيان SQL الخاص بصفحة النتائج، والذي يقوم بعد ذلك بإنشاء مجموعة سجلات تحتوي فقط على العملاء في المنطقة المحددة الذين لديهم دخل أعلى من المستوى المحدد.

إنشاء صفحة البحث

تحتوي صفحة البحث على الويب عادةً على حقول نموذج يدخل فيها المستخدم معاملات البحث.كحد أدنى، يجب أن تحتوي صفحة البحث الخاصة بك على نموذج HTML مع زر إرسال.

لإضافة نموذج HTML إلى صفحة البحث، أكمل الإجراء التالي.

افتح صفحة البحث أو صفحة جديدة، وحدد إدراج > نموذج > نموذج.

يتم إنشاء نموذج فارغ على الصفحة. قد تحتاج إلى تفعيل العناصر غير المرئية (عرض > المساعدات المرئية > العناصر غير المرئية) لرؤية حدود النموذج، والتي يتم تمثيلها بخطوط حمراء رفيعة.

أضف كائنات النموذج للمستخدمين لإدخال معاملات البحث الخاصة بهم عن طريق تحديد النموذج من قائمة الإدراج.

تشمل كائنات النموذج حقول النص والقوائم والخيارات وأزرار الراديو. يمكنك إضافة أي عدد تريده من كائنات النموذج لمساعدة المستخدمين على تحسين عمليات البحث الخاصة بهم. ومع ذلك، ضع في اعتبارك أنه كلما زاد عدد معاملات البحث في صفحة البحث، كلما أصبحت عبارة SQL أكثر تعقيدًا.

أضف زر إرسال إلى النموذج (إدراج > نموذج > زر).
(اختياري) غيّر تسمية زر الإرسال بتحديد الزر، وفتح مفتش الخصائص (نافذة > خصائص)، وإدخال قيمة جديدة في مربع القيمة.

بعد ذلك، ستحدد للنموذج مكان إرسال معاملات البحث عندما ينقر المستخدم على زر الإرسال.

حدد النموذج بتحديد علامة <form> في محدد العلامات في أسفل نافذة المستند، كما تُظهر الصورة التالية:
علامة النموذج

في مربع الإجراء في مفتش خصائص النموذج، أدخل اسم الملف لصفحة النتائج التي ستقوم بإجراء بحث قاعدة البيانات.
في قائمة الطريقة المنبثقة، حدد إحدى الطرق التالية لتحديد كيف يرسل النموذج البيانات إلى الخادم:
  • GET يرسل بيانات النموذج عن طريق إلحاقها بعنوان URL كسلسلة استعلام. نظرًا لأن عناوين URL محدودة بـ 8192 حرفًا، لا تستخدم طريقة GET مع النماذج الطويلة.

  • POST يرسل بيانات النموذج في نص الرسالة.

  • Default يستخدم الطريقة الافتراضية للمتصفح (عادة GET).

    تم إنجاز صفحة البحث.

إنشاء صفحة نتائج أساسية

عندما ينقر المستخدم على زر البحث في النموذج، يتم إرسال معاملات البحث إلى صفحة النتائج على الخادم. صفحة النتائج على الخادم، وليس صفحة البحث على المتصفح، مسؤولة عن استرداد السجلات من قاعدة البيانات. إذا كانت صفحة البحث ترسل معامل بحث واحد إلى الخادم، يمكنك إنشاء صفحة النتائج بدون استعلامات SQL ومتغيرات. تقوم بإنشاء مجموعة سجلات أساسية مع عامل تصفية يستبعد السجلات التي لا تلبي معامل البحث المرسل من صفحة البحث.

ملاحظة

إذا كان لديك أكثر من شرط بحث واحد، يجب استخدام مربع حوار مجموعة السجلات المتقدم لتعريف مجموعة السجلات (راجع إنشاء صفحة نتائج متقدمة ).

أنشئ مجموعة السجلات لاحتواء نتائج البحث

افتح صفحة النتائج في نافذة المستند.

إذا لم تكن لديك صفحة نتائج بعد، أنشئ صفحة ديناميكية فارغة (ملف > جديد > صفحة فارغة).

أنشئ مجموعة سجلات بفتح لوحة الربط (نافذة > ربط)، والنقر على زر الإضافة (+)، وتحديد مجموعة السجلات من القائمة المنبثقة.
تأكد من ظهور مربع الحوار Recordset البسيط.
مربع الحوار Recordset

ملاحظة

إذا ظهر مربع الحوار المتقدم بدلاً من ذلك، انتقل إلى مربع الحوار البسيط بالنقر على زر بسيط.

أدخل اسمًا لمجموعة السجلات وحدد اتصالاً.

يجب أن يكون الاتصال بقاعدة بيانات تحتوي على بيانات تريد أن يبحث فيها المستخدم.

في القائمة المنبثقة للجدول، حدد الجدول المراد البحث فيه في قاعدة البيانات.
ملاحظة

في البحث أحادي المعامل، يمكنك البحث عن سجلات في جدول واحد فقط. للبحث في أكثر من جدول واحد في الوقت نفسه، يجب استخدام مربع الحوار المتقدم Recordset وتحديد استعلام SQL.

لتضمين بعض أعمدة الجدول فقط في مجموعة السجلات، انقر على تحديد وحدد الأعمدة المرغوبة بالنقر مع الضغط على Control (Windows) أو Command (Macintosh) عليها في القائمة.

يجب تضمين الأعمدة التي تحتوي على المعلومات التي تريد عرضها في صفحة النتائج فقط.

اترك مربع الحوار Recordset مفتوحاً الآن.ستستخدمه بعد ذلك لاسترداد المعاملات المرسلة من صفحة البحث وإنشاء عامل تصفية لمجموعة السجلات لاستبعاد السجلات التي لا تلبي المعاملات.

إنشاء عامل تصفية مجموعة السجلات

من القائمة المنبثقة الأولى في منطقة عامل التصفية، حدد عموداً في جدول قاعدة البيانات للبحث عن مطابقة فيه.

على سبيل المثال، إذا كانت القيمة المرسلة من صفحة البحث هي اسم مدينة، فحدد العمود في جدولك الذي يحتوي على أسماء المدن.

من القائمة المنبثقة بجانب القائمة الأولى، حدد علامة التساوي (يجب أن تكون الافتراضية).
من القائمة المنبثقة الثالثة، حدد Form Variable إذا كان النموذج في صفحة البحث يستخدم طريقة POST، أو URL Parameter إذا كان يستخدم طريقة GET.

تستخدم صفحة البحث إما متغير نموذج أو معامل URL لتمرير المعلومات إلى صفحة النتائج.

في المربع الرابع، أدخل اسم كائن النموذج الذي يقبل معامل البحث في صفحة البحث.

اسم الكائن يعمل أيضاً كاسم متغير النموذج أو معامل URL.يمكنك الحصول على الاسم بالتبديل إلى صفحة البحث، والنقر على كائن النموذج في النموذج لتحديده، وفحص اسم الكائن في مفتش الخصائص.

على سبيل المثال، افترض أنك تريد إنشاء مجموعة سجلات تتضمن فقط رحلات المغامرة إلى بلد محدد.افترض أن لديك عمودًا في الجدول يطلق عليه TRIPLOCATION. افترض أيضاً أن نموذج HTML في صفحة البحث يستخدم طريقة GET ويحتوي على كائن قائمة يسمى Location يعرض قائمة بالبلدان.يوضح المثال التالي كيف يجب أن يبدو قسم عامل التصفية:

معلمات كائن النموذج

(اختياري) انقر على Test، وأدخل قيمة اختبار، وانقر على OK للاتصال بقاعدة البيانات وإنشاء مثيل من مجموعة السجلات.

تحاكي قيمة الاختبار القيمة التي كانت ستُرجع من صفحة البحث.انقر على OK لإغلاق مجموعة السجلات الاختبارية.

عندما تنتهي من العمل مع مجموعة السجلات، انقر فوق OK.

يتم إدراج نص برمجي من جانب الخادم في صفحتك يفحص كل سجل في جدول قاعدة البيانات عند تشغيله على الخادم.إذا كان الحقل المحدد في السجل يلبي شرط التصفية، يتم تضمين السجل في مجموعة السجلات.ينشئ النص البرمجي مجموعة سجلات تحتوي على نتائج البحث فقط.

الخطوة التالية هي عرض مجموعة السجلات في صفحة النتائج.للمزيد من المعلومات، راجع عرض نتائج البحث.

إنشاء صفحة نتائج متقدمة

إذا كانت صفحة البحث تُرسل أكثر من معامل بحث واحد إلى الخادم، فيجب كتابة استعلام SQL لصفحة النتائج واستخدام معاملات البحث في متغيرات SQL.

ملاحظة

إذا كان لديك شرط بحث واحد فقط، يمكنك استخدام مربع الحوار البسيط Recordset لتعريف مجموعة السجلات الخاصة بك (راجع إنشاء صفحة نتائج أساسية).

افتح صفحة النتائج في Dreamweaver، ثم قم بإنشاء مجموعة سجلات عن طريق فتح لوحة Bindings (نافذة > Bindings)، والنقر على زر علامة الجمع (+)، وتحديد Recordset من القائمة المنبثقة.
تأكد من ظهور مربع الحوار Recordset المتقدم.

يحتوي هذا المربع على مساحة نص لإدخال عبارات SQL. إذا ظهر مربع الحوار البسيط بدلاً من ذلك، قم بالتبديل إلى مربع الحوار المتقدم بالنقر على زر Advanced.

أدخل اسمًا لمجموعة السجلات وحدد اتصالاً.

يجب أن يكون الاتصال بقاعدة بيانات تحتوي على البيانات التي تريد من المستخدم البحث عنها.

أدخل عبارة Select في مساحة النص SQL.

تأكد من أن الاستعلام يتضمن عبارة WHERE مع متغيرات لاحتواء معاملات البحث.في المثال التالي، المتغيرات تُسمى varLastName و varDept:

SELECT EMPLOYEEID, FIRSTNAME, LASTNAME, DEPARTMENT, EXTENSION FROM EMPLOYEE ¬

WHERE LASTNAME LIKE 'varLastName' ¬

AND DEPARTMENT LIKE 'varDept'

لتقليل كمية الكتابة، يمكنك استخدام شجرة عناصر قاعدة البيانات في أسفل مربع الحوار المتقدم Recordset.للحصول على الإرشادات، راجع تعريف مجموعة سجلات متقدمة بكتابة SQL.

للحصول على مساعدة بشأن صيغة SQL، راجع دليل SQL في www.adobe.com/go/learn_dw_sqlprimer.

أعطِ متغيرات SQL قيم معاملات البحث عن طريق النقر على زر علامة الجمع (+) في منطقة Variables وإدخال اسم المتغير، والقيمة الافتراضية (القيمة التي يجب أن يأخذها المتغير إذا لم تُرجع قيمة وقت التشغيل)، وقيمة وقت التشغيل (عادة كائن خادم يحتوي على قيمة مُرسلة بواسطة المتصفح، مثل متغير طلب).

في مثال ASP التالي، يستخدم نموذج HTML في صفحة البحث طريقة GET ويحتوي على حقل نص واحد يُسمى LastName وآخر يُسمى Department:

مثال ASP

في ColdFusion، ستكون قيم وقت التشغيل #LastName# و #Department#.في PHP، ستكون قيم وقت التشغيل $_REQUEST["LastName"] و$_REQUEST["Department"].

(اختياري) انقر على Test لإنشاء مثيل لمجموعة السجلات باستخدام القيم الافتراضية للمتغيرات.

القيم الافتراضية تحاكي القيم التي كانت ستُرجع من صفحة البحث.انقر على OK لإغلاق مجموعة السجلات التجريبية.

عندما تنتهي من العمل مع مجموعة السجلات، انقر فوق OK.

يتم إدراج استعلام SQL في صفحتك.

الخطوة التالية هي عرض مجموعة السجلات في صفحة النتائج.

عرض نتائج البحث

بعد إنشاء مجموعة سجلات لحفظ نتائج البحث، يجب عليك عرض المعلومات في صفحة النتائج.يمكن أن يكون عرض السجلات أمراً بسيطاً يتمثل في سحب الأعمدة الفردية من لوحة Bindings إلى صفحة النتائج.يمكنك إضافة روابط تنقل للتحرك للأمام والخلف عبر مجموعة السجلات، أو يمكنك إنشاء منطقة متكررة لعرض أكثر من سجل واحد في الصفحة.يمكنك أيضًا إضافة ارتباطات إلى صفحة تفاصيل.

لمزيد من المعلومات حول طرق عرض المحتوى الديناميكي في صفحة غير عرض النتائج في جدول ديناميكي، راجع عرض سجلات قاعدة البيانات.

ضع نقطة الإدراج حيث تريد ظهور الجدول الديناميكي في صفحة النتائج، وحدد Insert > Data Objects > Dynamic Data > Dynamic Table.
أكمل مربع الحوار Dynamic Table، بتحديد مجموعة السجلات التي عرّفتها لحفظ نتائج البحث.
انقر فوق OK. يتم إدراج جدول ديناميكي يعرض نتائج البحث في صفحة النتائج.

إنشاء صفحة تفاصيل لصفحة النتائج

يمكن أن تتضمن مجموعة صفحات البحث والنتائج الخاصة بك صفحة تفاصيل لعرض المزيد من المعلومات حول سجلات محددة في صفحة النتائج.في هذه الحالة، تعمل صفحة النتائج أيضًا كصفحة رئيسية في مجموعة صفحات رئيسية-تفاصيل.

يمكنك إنشاء رابط يفتح صفحة ذات صلة وينقل المعاملات الموجودة إلى تلك الصفحة.سلوك الخادم متاح فقط عند استخدام نموذج خادم ASP.

قبل إضافة سلوك خادم Go To Related Page إلى صفحة، تأكد من أن الصفحة تتلقى معاملات نموذج أو URL من صفحة أخرى.مهمة سلوك الخادم هي تمرير هذه المعاملات إلى صفحة ثالثة.على سبيل المثال، يمكنك تمرير معاملات البحث التي تتلقاها صفحة النتائج إلى صفحة أخرى وتجنيب المستخدم إدخال معاملات البحث مرة أخرى.

أيضًا، يمكنك تحديد نص أو صورة على الصفحة ليكون بمثابة الرابط إلى الصفحة ذات الصلة، أو يمكنك وضع المؤشر على الصفحة دون تحديد أي شيء، ويتم إدراج نص الرابط.

في مربع Go To Related Page، انقر على Browse وحدد موقع ملف الصفحة ذات الصلة.

إذا كانت الصفحة الحالية ترسل البيانات إلى نفسها، أدخل اسم ملف الصفحة الحالية.

إذا كانت المعاملات التي تريد تمريرها قد تم تلقيها مباشرة من نموذج HTML باستخدام طريقة GET، أو مدرجة في URL الخاص بالصفحة، حدد خيار URL Parameters.
إذا كانت المعاملات التي تريد تمريرها قد تم تلقيها مباشرة من نموذج HTML باستخدام طريقة POST، حدد خيار Form Parameters.
انقر فوق OK.

عند النقر على الرابط الجديد، تمرر الصفحة المعاملات إلى الصفحة ذات الصلة باستخدام سلسلة استعلام.