كيفية إعداد نظام إخباري؟ نظام إخباري متكامل لا يتضمن واجهة إخبارية للتصفح فحسب، بل يتضمن أيضًا وظائف قوية للتحكم في العديد من الوظائف وإدارة الخلفية. إذًا كيف يتم جدولة وتخصيص الوظائف الفرعية ضمن هذه الوظائف، فلنقدم التحكم في النشر لكل وظيفة. إن تنفيذ النظام الإخباري بسيط، ولكن يمكن القول أيضًا أنه معقد للغاية.
يمكن تقسيم النظام الإخباري إلى ثلاثة أجزاء: نظام تسجيل دخول المسؤول، نظام إدارة الأخبار، ونظام تصفح المستخدم. العملية برمتها بسيطة:
1. ينشر المديرون الأخبار -> قاعدة البيانات -> يتصفح المستخدمون الأخبار
2. تم العثور على مشاكل -> تسجيل الدخول إلى نظام الإدارة -> تحرير الأخبار وتعديلها
تبدو العملية المذكورة أعلاه بسيطة، ولكن تنفيذها ليس بهذه البساطة هذا نظام. يعد تطوير لوحة الرسائل أكثر تعقيدًا بكثير من تنفيذ لوحة الرسائل، ولكن مبدأ التشغيل الأساسي هو نفس لوحة الرسائل. الأولوية القصوى في نظام النشرات الإخبارية تكمن في تخطيط قاعدة البيانات وتنفيذ نظام الإدارة.
ما هو محتوى الأخبار الآن: تصنيف الأخبار، أنطولوجيا المعلومات. من الممكن إدراج هذين المحتوىين في جدول بيانات واحد في قاعدة البيانات، لكنه غير اقتصادي، لذلك يمكننا استخدام جدولي بيانات لتخزين المحتويات بشكل منفصل، أحدهما مخصص لتخزين تصنيف الأخبار، والآخر للتخزين أنطولوجيا المعلومات. كيفية استدعاء وتحقيق مشاركة محتوى الجداول المزدوجة؟ استخدم اقتران الجدول لتحقيق هذه المشكلة (لم يتم تقديم هذه المعرفة هنا. يمكن للقراء الرجوع إلى محتوى المعرفة المتعلق بقاعدة البيانات بأنفسهم. المعرفة المكتسبة من خلال جهود الفرد الخاصة) هو الأكثر قيمة، أليس كذلك؟)
فيما يلي تنفيذ وظيفة الإدارة:
1. الأول هو إصدار الأخبار
، ويتكون من سلسلة من نماذج التقديم، وينقسم إلى فئتين: إنشاء فئات الأخبار ونشر الأخبار، بعد إنشاء فئات الأخبار، يكون من السهل جدًا نشر الأخبار ذات الصلة في كل فئة!
إن اقتران الجدول المذكور أعلاه مهم جدًا هنا، بالطبع، إنشاء جدول مستقللكل
فئة يمكن أن يحل المشكلة أيضًا، ولكن هل هذا فعال من حيث التكلفة؟
لقد سبب التصنيف وأنطولوجيا المعلومات مشكلة، بالمناسبة، الحل هو الاستفادة من اقترانات الجدول.
2. قضايا التحرير والتعديل والحذف
هي التطبيق الأساسي لمعرفة php+mysql، وليس من الصعب تنفيذ هذه الوظائف مع فئة عند تغييرها أو حذفها، ماذا عن المعلومات الموجودة تحتها؟ نظرًا لاستخدام اقترانات الجدول، تتم معالجة هذه الوظائف كما لو تمت معالجتها في جدول.
3. تعدد المهام
ولكن ماذا يحدث عندما يقوم العديد من الأشخاص بتحرير عنصر إخباري في نفس الوقت؟ الموقف هو أن قاعدة البيانات ستخزن فقط المحتوى الذي تم تحريره مؤخرًا، فهذا يعني أن العمل الشاق الذي قام به المحررون السابقون قد انتهى تعدد المهام كان الحل لهذه المشكلة هو اتباع نهج مسبق، أي أن من يدخل إلى المحرر أولاً لديه أذونات التحرير، ومن يدخل لاحقاً لا يملك سوى أذونات التصفح حتى اكتمال التحرير. هذه الوظيفة مشابهة جدًا للتحكم في الأذونات في Linux، أليس كذلك؟
هناك عدة طرق لإكمال هذه الوظيفة: 1. استخدم ملفات تعريف الارتباط للتحكم،2. أضف حقول التحكم بالأذونات إلى الجدول. بالطبع، من الأسهل استخدام ملفات تعريف الارتباط. طريقة وعملية تنفيذ ملف تعريف الارتباط هي كما يلي:
عندما يدخل المسؤول إلى المحرر ويقوم بتعيين ملف تعريف الارتباط، يحدد جزء البرنامج في وظيفة التحرير قيمة ملف تعريف الارتباط إذا كان فارغًا مسموح به إذا لم يكن فارغًا، فسيتم رفض التحرير ويخرج المحرر، ثم قم بمسح ملفات تعريف الارتباط، وتتكرر الدورة؛
إن تنفيذ وظيفة تصفح الأخبار بسيط للغاية، مع إضافة وظيفة تقليب الصفحة (التي تم تقديمها على هذا الموقع)، يبدو أن نظام الأخبار القوي مفقود محرك بحث. إنها رغبة كل موقع أن يكون لديه محرك بحث قوي، وإنتاج محرك بحث قوي أمر معقد وصعب للغاية، ويتطلب العديد من الجوانب مثل الكفاءة والدقة والسرعة.
لن تتضمن محركات البحث المقدمة هنا مثل هذا البحث المتعمق، ولكنها ستجري فقط استعلامات دقيقة لمحتوى محدد. يتطلب محرك البحث المعقد والقوي الكثير من مهارات البرمجة وقواعد البيانات، فلنبدأ بمحرك بحث بسيط. كيف يعمل محرك البحث؟ فهو يستقبل الكلمات الرئيسية المحددة، ويبحث ضمن النطاق المحدد، ثم يقوم بإرجاع نتائج البحث.
قد تكون الكلمات الرئيسية المحددة في أي مكان في محتوى المعلومات. كيف يتم استخدام بيان قاعدة البيانات التالي هنا:
حدد * من الجدول حيث (الاسم مثل '%".$keyword."%'
الاسم هو الموقع المحدد للبحث، وعادةً ما يكون اسم الحقل، مثل '%".$keyword. "%' هو مطابقة النمط، أي ، في المحتوى ابحث عن $keyword. خذ بعين الاعتبار مثالاً:
ابحث عن جميع العناوين التي تحتوي على الكلمة الرئيسية "جيد" في أخبار جدول البيانات:
حدد * من الأخبار حيث (العنوان مثل '%good%')؛
هذا بحث دقيق، حيث يمكنه العثور على جميع العناوين ذات الجودة في قاعدة البيانات. يوجد أيضًا بحث غامض:
حدد * من الأخبار حيث (عنوان مثل '%good')؛
يمكنك أيضًا العثور على النتائج بهذه الطريقة.
على افتراض أن الأخبار تحتوي على حقول مثل العنوان والرسالة والمستخدم وما إلى ذلك، فإن نطاق البحث أعلاه ضيق جدًا، لأنه يتم البحث عن العنوان فقط، ويجب البحث عن المحتوى الآخر دون تعقيد العملية. كيفية التعامل معها لاحظنا
أن أي قيمة متغيرة في البرنامج تتم معالجتها بواسطة المتغيرات. تعمل هذه الطريقة أيضًا هنا. يمكنك نقل النطاق الذي تريد البحث فيه كمتغير، بحيث يكون لديك بناء جملة قاعدة البيانات التالي:
mysql_query("select * from news Where ($name like '%".$keyword."%'));
$name يخزن قيمة متغير الحقل المرسل، ويتم إسقاط قيمة المتغير هذه من خلال html حدد إرسال النموذج إلى اكتمل ماذا لو كنت تريد قصر نتائج البحث على نطاق زمني معين، على سبيل المثال، إذا كنت تريد العثور على معلومات في غضون 5 أيام، فهل ما زلت تتذكر بناء جملة قاعدة البيانات المستخدمة في مقدمة ملف تعريف الارتباط
؟ الاتحاد على النحو التالي:
mysql_query("اختر * من الأخبار حيث $name like
'%".$keyword."%') and time>date_sub('$time',interval 5 day)");
حيث $time هو الوقت الحالي للبحث: $time=date('Ymd H:i:s'); الوقت هو الحقل الذي تخزن فيه قاعدة البيانات وقت المعلومات. الآن استبدل $old بـ 5:
mysql_query("اختر * من الأخبار حيث $name like
'%".$keyword."%') والوقت>date_sub('$time',interval $old day)");
وبالمثل، يتم تقديم قيمة $old لفترات محدودة مختلفة من خلال نموذج الإرسال المحدد، وبالتالي استكمال محرك البحث القوي هذا. تتطلب بعض محركات البحث الأكثر قوة تعاونًا من مهارات البرمجة، ويمكن للقراء توسيع تجاربهم الخاصة من خلال المبادئ المذكورة أعلاه.