سعود كتب :طيب اخواني سؤال آخر كيف اخرج العضو من ضمن المتواجدين الان؟ لاني اضيفه عن طريق تعديل عمود Online=1 عند تسجيل الدخول وعند الخروج اغيرها الى 0 لكن لو لم يسجل خروج ستظل القيمة ثابتة بالقاعدة كيف اعالج الامر؟؟
اخواني انا ابرمج منتدى افضل من اللي انا سويتهم من قبل فارجو المساعدة وشكرا سلفا لكل الاخوان
الطريقة هي أنك تضع حقل في معلوماته الشخصية يكون من نوع Datatime
وفي كل مرة يقوم المتصفح بعمل للصفحة request أو Postback قم بتحديث هذا الحقل للمستخدم عن طريق الدالة في نفس قواعد البيانات GETDATE
بعد هذه الخطوة نأتي للخطوة التالية : وهي كيف أعرف إن هذا الشخص غادر الموقع أم لا !!؟
نقوم بعمل حسبة بسيطه على كل الآشخاص الذين موجودين online ونقارن تاريخ الحقل الذي عملناه سابقا هل تجاوز مثلا 5 دقائق !! فلو تجاوز نضع في خانة حقل online قيمة false .
كيف نقوم بخطوة الفحص على حالة الموجودين !!!!؟؟
اللي في بالي الان طريقتين :
الطريقة الأولى :
عن طريق Job الموجود في Agent الموجود في SqlServer Managment
بحيث تقوم بعمل job يقوم بفحص الحالات ( كل مثلا دقيقة واحدة ) اللي في حقل online مساوي ل true ويقارن الحقل اللي انشأناه من نوع DateTime ونقارن قيمته !! هل هو أكبر من 5 دقائق !! فلو كان نقوم بتعديل حقل online إلى false
المشكلة في الطريقة هو أن Agent لن يكون لديك صلاحية عليه إلا إذا كنت ادمن على SqlServer Managment .
الطريقة الثانية :
وهي أن تقوم بعملية فحص للحالات في كل عملية Postback لأي صفحة .
وبالتوفيق ...