search في قاعدة البيانات

Dem • منذ 8 سنوات

السلام عليكم

 

أعمل على مشروع ويب سايت PHP  Mysql 

(يتيح للأعضاء المسجلين إضافة posts كل عضو في صفحته الخاصة تحت تصنيف يحدد العضو ومعلومات يضيفها)

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

(كان يكتب إسم العضو ناشر البوست / القسم الذي ينتمي له العضو / سنة النشر /  كي وورد ... إلخ ) وتظهر له الpost المصنفة تحت المطلوب بحثه )

#في المرفقات صور للداتابيس وملف search بديت فيه حسب بعض الأكواد للسيرش

أحتاج مساعدة في الموضوع لو تكرمتوا ..

1.png

2.png

3.png

4.png

search.php

كلمات دليلية:

ساعد بالإجابة

"إن في قضاء حوائج الناس لذة لا يَعرفها إلا من جربها، فافعل الخير مهما استصغرته فإنك لا تدري أي حسنة تدخلك الجنة."

الإجابات (6)

Ali Majrashi • منذ 8 سنوات

بناء على توزيع الجداول عندك المطلوب عمل query يقوم بتحديد المطلوب من جدول post بناء على مدخلات يحددها اليوزر مثل filters لفرز النتائج ممكنه بواسطة استخدام WHERE في sql 


SELECT * FROM posts WHERE user_id = 1 

هذا راح يعرض كل posts الخاصه بيوزر محدد 

ومن الممكن اضافة المزيد باستخدام OR او AND على حسب المطلوب 

مثال 


SELECT * FROM posts WHERE user_id = 1 AND year = 2016

هنا راح يحدد posts الخاصه باليوزر في سنة محددة فقط

وبناء على الفلاتر هذه ممكن عمل آلية بحث بسيطة وسهلة باستخدام WHERE و OR  و AND وعند البحث عن كلمات ممكن استخدام LIKE او MATCH للبحث عن كلمات مدخله 

 

وعندك محتوى ملف search.php يختلف عن الصور المرفوعه بحيث انه يبحث في جدول videos ويعرضهم مااتوقع له علاقة بالمشروع والدوال المستخدمة mysql اصبحت قديمة وغير مستخدمة بالنسخ الجديدة من php ولاراح تعمل بالشكل المطلوب المفروض استخدام mysqli او كلاس pdo من php للتعامل مع قواعد البيانات

Dem • منذ 8 سنوات
48 دقائق مضت, Ali Majrashi said:

بناء على توزيع الجداول عندك المطلوب عمل query يقوم بتحديد المطلوب من جدول post بناء على مدخلات يحددها اليوزر مثل filters لفرز النتائج ممكنه بواسطة استخدام WHERE في sql 



SELECT * FROM posts WHERE user_id = 1 

هذا راح يعرض كل posts الخاصه بيوزر محدد 

ومن الممكن اضافة المزيد باستخدام OR او AND على حسب المطلوب 

مثال 



SELECT * FROM posts WHERE user_id = 1 AND year = 2016

هنا راح يحدد posts الخاصه باليوزر في سنة محددة فقط

وبناء على الفلاتر هذه ممكن عمل آلية بحث بسيطة وسهلة باستخدام WHERE و OR  و AND وعند البحث عن كلمات ممكن استخدام LIKE او MATCH للبحث عن كلمات مدخله 

 

وعندك محتوى ملف search.php يختلف عن الصور المرفوعه بحيث انه يبحث في جدول videos ويعرضهم مااتوقع له علاقة بالمشروع والدوال المستخدمة mysql اصبحت قديمة وغير مستخدمة بالنسخ الجديدة من php ولاراح تعمل بالشكل المطلوب المفروض استخدام mysqli او كلاس pdo من php للتعامل مع قواعد البيانات

 

 

هل ممكن أستخدم فورم بحث يحتوي (دروب ليست المستخدم يحدد نوع البيانات الي راح يدخلها / مكان الادخال الكلمة المحددة )

مثلا : من الدروب ليست يختار year  و يكتب 2005

فيبحث في كولوم year وتظهر له كل البوستز الي الي الyear قيها مطابقة للبحث ؟

 

 

 

 

Ali Majrashi • منذ 8 سنوات
47 دقائق مضت, Dem said:

 

 

هل ممكن أستخدم فورم بحث يحتوي (دروب ليست المستخدم يحدد نوع البيانات الي راح يدخلها / مكان الادخال الكلمة المحددة )

مثلا : من الدروب ليست يختار year  و يكتب 2005

فيبحث في كولوم year وتظهر له كل البوستز الي الي الyear قيها مطابقة للبحث ؟

 

 

 

 

ممكن عن طريق النموذج عمل حقل year والمستخدم يدخل السنة للبحث وممكن عمل DropBox المستخدم يحدد السنة مباشرة من DropBox وعمل البحث كلها راح تعمل المهم طريقة استقبال البيانات وبناء WHERE داخل sql للبحث بالشكل الصحيح 

Dem • منذ 8 سنوات
10 دقائق مضت, Ali Majrashi said:

ممكن عن طريق النموذج عمل حقل year والمستخدم يدخل السنة للبحث وممكن عمل DropBox المستخدم يحدد السنة مباشرة من DropBox وعمل البحث كلها راح تعمل المهم طريقة استقبال البيانات وبناء WHERE داخل sql للبحث بالشكل الصحيح 

 

نوع البحث راح يكون أكثر من خيار اما السنة / اسم الناشر / سنة النشر / قسم الناشر / تصنيف البوست

لذلك خليت القائمة لكل الأنواع

الأن كويري البحث لازم كل واحد منهم أسوي له جملة خاصة ولا كيف ؟

مع العلم ان بعضهم من جدول اليوزر زي الديبارتمنت و اسم الناشر

لكن نتيجة البعض لازم تكون البوست كامل

1.png

2.png

Dem • منذ 8 سنوات

أضفت كود مثال للبحث في العنوان Title كتجربة لو صحيح أكمل لبقية الإختيارات

لكن يبدوا فيه غلط ما يطبق

ملف الهيدر في المرفقات يحتوي بنهايته على فورم search و الكود

header.php

Ali Majrashi • منذ 8 سنوات

بالنسبة لملف header.php اكواد البحث يجب ان تكون بداخل form وهذا النموذج يرسل طلب البحث سواء get او post لصفحة تنفذ عملية البحث سواء كان بنفس الصفحة يوضع الكود او بصفحة ثانية 

وعندك خطأ داخل loop جميع الاكواد بداخلها يجب ان تتم طباعتها باستخدام echo لانها تعتبر نصوص وراح ينتج خطأ عند تنفيذ الملف للمتصفح واستخدمي while افضل من do while 

لايوجد لديك حساب في عالم البرمجة؟

تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !