السلام عليكم
انا اقوم الان بتصميم قاعدة بيانات شبيهة لـفكرة المواضيع والردود .
الفكرة التي اوقفتني هي:
العضو " محمد " يريد كتابة موضوع عام ، يظهر للعامة وجميع الاعضاء يستطيعون الرد على موضوعة.
وايضاً العضو " احمد " يريد كتابة موضوع خاص ، يظهر للعامة ولاكن لا يستطيع الرد الا الاعضاء المحدّدين من قِبَل " احمد " ، والاعضاء هم : " خالد " , " علي " فقط.
المشكلة هي كيف بالامكان تحديد الاعضاء بناءً على نوع الموضوع هل هو عام ( الاعضاء جميعهم يستطيعون الرد ) او خاص ( الاعضاء المحدّدين فقط )
حتى الان لدّي هذة الجداول :
الاعضاء.
المواضيع.
الردود.
مع الشكر لكم.
التعليقات
اقتراح طريقة..
في جدول المواضيع ممكن تضيف حقل بأسم "restricted" أي "مقيد" وتكون القيمة له 0 أو 1.. في حال كانت القيمة 0 فهذا يعني ان الموضوع عام يمكن الرد عليه من قبل الجميع لكن في حالة كانت القيمة 0 فهذا يعني ان الموضوع مقيد أو مخصص للرد من قبل أعضاء معينين.. بعد ذلك يمكنك إنشاء جدول رابع بأسم "allowed_users" أي جدول "الاعضاء المسموح لهم" ويحتوي على حقلين وهما
1- حقل رقم أو معرف العضو المسموح له بالرد.
2- حقل رقم أو معرف الموضوع المقيد.
في مثالك
العضو " احمد " يكتب موضوع خاص ، يظهر للعامة ولاكن لا يستطيع الرد الا الاعضاء المحدّدين وهم : " خالد " , " علي " فقط.
لنفترض ان رقم " خالد " في جدول الاعضاء هو 55 , ورقم " علي " هو 20
في جدول المواضيع تضيف سجل (الموضوع بأسم احمد وتجعل قيمة restricted تساوي 1 ولنفترض ان رقم الموضوع بعد ان اضفته كان 100)
في جدول "الاعضاء المسموح لهم" تضيف سجل جديد (رقم العضو خالد 55ورقم الموضوع 100) ثم تضيف سجل آخر جديد (رقم العضو خالد 20 ورقم الموضوع 100)
هكذا يمكنك استيراد جميع ارقام الاعضاء المسموح لهم بالرد على موضوع معين.
أي عندما تريد ان تعرف من يستطيع الرد على موضوع احمد فإنك ستجد القيمة لـ restricted تساوي 1 وهذا يعني أنه مقيد لعدد معين وليس للجميع وبالرجوع إلى جدول الاعضاء المسموح لهم فإن عدد السجلات التي تحمل رقم 100 هي اثنين فقط وفي داخلها يوجد رقم العضو خالد 55 ورقم العضو 20.