search في قاعدة البيانات
السلام عليكم
أعمل على مشروع ويب سايت PHP Mysql
(يتيح للأعضاء المسجلين إضافة posts كل عضو في صفحته الخاصة تحت تصنيف يحدد العضو ومعلومات يضيفها)
اضفت الاكواد و الداتابيس ... الان أحتاج إضافة مربع بحث للموقع بحيث الزائر بامكانه إيجاد الposts المطلوبة بناء على مدخل البحث
(كان يكتب إسم العضو ناشر البوست / القسم الذي ينتمي له العضو / سنة النشر / كي وورد ... إلخ ) وتظهر له الpost المصنفة تحت المطلوب بحثه )
#في المرفقات صور للداتابيس وملف search بديت فيه حسب بعض الأكواد للسيرش
أحتاج مساعدة في الموضوع لو تكرمتوا ..
ساعد بالإجابة
"إن في قضاء حوائج الناس لذة لا يَعرفها إلا من جربها، فافعل الخير مهما استصغرته فإنك لا تدري أي حسنة تدخلك الجنة."
الإجابات (6)
بناء على توزيع الجداول عندك المطلوب عمل 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 للتعامل مع قواعد البيانات
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 قيها مطابقة للبحث ؟
47 دقائق مضت, Dem said:
هل ممكن أستخدم فورم بحث يحتوي (دروب ليست المستخدم يحدد نوع البيانات الي راح يدخلها / مكان الادخال الكلمة المحددة )
مثلا : من الدروب ليست يختار year و يكتب 2005
فيبحث في كولوم year وتظهر له كل البوستز الي الي الyear قيها مطابقة للبحث ؟
ممكن عن طريق النموذج عمل حقل year والمستخدم يدخل السنة للبحث وممكن عمل DropBox المستخدم يحدد السنة مباشرة من DropBox وعمل البحث كلها راح تعمل المهم طريقة استقبال البيانات وبناء WHERE داخل sql للبحث بالشكل الصحيح
10 دقائق مضت, Ali Majrashi said:ممكن عن طريق النموذج عمل حقل year والمستخدم يدخل السنة للبحث وممكن عمل DropBox المستخدم يحدد السنة مباشرة من DropBox وعمل البحث كلها راح تعمل المهم طريقة استقبال البيانات وبناء WHERE داخل sql للبحث بالشكل الصحيح
نوع البحث راح يكون أكثر من خيار اما السنة / اسم الناشر / سنة النشر / قسم الناشر / تصنيف البوست
لذلك خليت القائمة لكل الأنواع
الأن كويري البحث لازم كل واحد منهم أسوي له جملة خاصة ولا كيف ؟
مع العلم ان بعضهم من جدول اليوزر زي الديبارتمنت و اسم الناشر
لكن نتيجة البعض لازم تكون البوست كامل
أضفت كود مثال للبحث في العنوان Title كتجربة لو صحيح أكمل لبقية الإختيارات
لكن يبدوا فيه غلط ما يطبق
ملف الهيدر في المرفقات يحتوي بنهايته على فورم search و الكود
بالنسبة لملف header.php اكواد البحث يجب ان تكون بداخل form وهذا النموذج يرسل طلب البحث سواء get او post لصفحة تنفذ عملية البحث سواء كان بنفس الصفحة يوضع الكود او بصفحة ثانية
وعندك خطأ داخل loop جميع الاكواد بداخلها يجب ان تتم طباعتها باستخدام echo لانها تعتبر نصوص وراح ينتج خطأ عند تنفيذ الملف للمتصفح واستخدمي while افضل من do while
لايوجد لديك حساب في عالم البرمجة؟
تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !