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

Dem • منذ 8 سنوات

السلام عليكم

 

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

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

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

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

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

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

1.png

2.png

3.png

4.png

search.php

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

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

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

الإجابات (6)

Dem • منذ 8 سنوات
9 ساعات مضت, Ali Majrashi said:

 

بالنسبة للاقسام الثانية يجب تعديلها بمايناسب مشروعك واحتياجاته مثلا لو نرغب بالبحث عن posts خاصه بعضو محدد هنا نحتاج فقط user_id الخاص بالعضو لجلب جميع posts الخاصة فيه 

ممكن تحقيقها عن طريق عمل استعلام في جدول اليوزر باستخدام اسم اليوزر وربطه بجدول posts باستخدما JOINT او LEFT JOINT في query لتظهر نتائج اليوزر المراد الاستعلام عنه 

 

معليش مافهمت هذي الجزئية كيف أعمل إستعلام في جدول بقاعدة البيانات ؟

 

 

 

Dem • منذ 8 سنوات
في ٧‏/٧‏/١٤٣٧ هـ at 12:41, Ali Majrashi said:

بالنسبة للخطأ يقولك الجدول post غير موجود بقاعدة البيانات عدلي query لمايناسب جدولك بقاعدة البيانات 

بالنسبة للاقسام الثانية يجب تعديلها بمايناسب مشروعك واحتياجاته مثلا لو نرغب بالبحث عن posts خاصه بعضو محدد هنا نحتاج فقط user_id الخاص بالعضو لجلب جميع posts الخاصة فيه 

ممكن تحقيقها عن طريق عملarrow-10x10.png استعلام في جدول اليوزر باستخدام اسم اليوزر وربطه بجدول posts باستخدما JOINT او LEFT JOINT في query لتظهر نتائج اليوزر المراد الاستعلام عنه 

 

 

هذا الخطأ غير واضح ما هي المشكلة هنا لو تكرمت

Untitled.png

Ali Majrashi • منذ 8 سنوات
2 ساعات مضت, Dem said:

 

 

هذا الخطأ غير واضح ما هي المشكلة هنا لو تكرمت

Untitled.png

هذا الخطأ بسبب استخدام دالة mysql_query() لتنفيذ الاستعلام هذه الدالة قديمه ومحذوفة بنسخ php الجديدة يفضل استخدام pdo او mysqli للاتصال بقاعدة البيانات وتنفيذ الاستعلامات 

Dem • منذ 8 سنوات
11 ساعات مضت, Ali Majrashi said:

هذا الخطأ بسبب استخدام دالة mysql_query() لتنفيذ الاستعلام هذه الدالة قديمه ومحذوفة بنسخ php الجديدة يفضل استخدام pdo او mysqli للاتصال بقاعدة البيانات وتنفيذ الاستعلامات 

أنا مستخدمه pdo للاتصال بالDB

لكن هذا الكود اتبعت مثال بالانترنت ماهو بديل هذ الاسعلام في الpdo لاضعه كبديل لها ؟

22222.png

search.php

Ali Majrashi • منذ 8 سنوات
في April 14, 2016 at 22:13, Dem said:

 

معليش مافهمت هذي الجزئية كيف أعمل إستعلام في جدول بقاعدة البيانات ؟

 

 

 

عند عمل فلتر معين مثلا بالمثال الي اعطيتك هنا لما نبحث عن year قمنا ببناء query لجلب كل posts في سنة محددة ولكن عند محاولة البحث عن posts خاصه بيوزر لازم نعمل استعلام بجدول users ثم نربط جميع posts الخاصة في هذا اليوزر فاكيد راح تختلف query قليلا راح نستخدم joint او left joint لربط جدول ثاني بالنتيجة مثال بسيط لل query الخاصة بجلب بيانات عضو وجميع posts الخاصة فيه داخل ملف search.php


case 'user':
                 $query = "SELECT * FROM users LEFT JOIN posts ON users.id=posts.user_id WHERE users.name = '$searchInput'";
            break;

هذا query راح يجلب بيانات اليوزر ونفس الوقت جميع posts الخاصة فيه لعرضها

2 ساعات مضت, Dem said:

أنا مستخدمه pdo للاتصال بالDB

لكن هذا الكود اتبعت مثال بالانترنت ماهو بديل هذ الاسعلام في الpdo لاضعه كبديل لها ؟

22222.png

search.php

بالنسبة للاكواد انا عدلت على search.php في ردودي فوق خذي الي يناسبك وعدلي الباقي والامثلة في الانترنت نفس الطريقة دائما خذي الي يناسب مشروعك واتركي الباقي

Dem • منذ 8 سنوات
في ٩‏/٧‏/١٤٣٧ هـ at 11:28, Ali Majrashi said:

عند عملarrow-10x10.png فلتر معين مثلا بالمثال الي اعطيتك هنا لما نبحث عن year قمنا ببناء query لجلب كل posts في سنة محددة ولكن عند محاولة البحث عن posts خاصه بيوزر لازم نعمل استعلام بجدول users ثم نربط جميع posts الخاصة في هذا اليوزر فاكيد راح تختلف query قليلا راح نستخدم joint او left joint لربط جدول ثاني بالنتيجة مثال بسيط لل query الخاصة بجلب بيانات عضو وجميع posts الخاصة فيه داخل ملف search.php

هذا query راح يجلب بيانات اليوزر ونفس الوقت جميع posts الخاصة فيه لعرضها

بالنسبة للاكواد انا عدلت على search.php في ردودي فوق خذي الي يناسبك وعدلي الباقي والامثلة في الانترنت نفس الطريقة دائما خذي الي يناسب مشروعك واتركي الباقي

 

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

لكن في البحث عن السنة يطلع هذا الerror

 

أما في البحث عن الactivity و key word ما يطلع لي أي نتيجة !!!

 

هذا ملف الكود في المرفقات

19.png

search.php

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

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