الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

[تنبيه - عنوان غير مناسب : ]عامل ابليكشن لتسجيل الكورسات اون لاين بس عاوز اخلى المستخدم اللى مسجل فى كورس فى فترة ميقدرش يسجل فى كورس تانى لو هيكون فية ايام فى نفس الفترة

بدأه hamada252_eg في 12 مايو 2009 · 11 رد · 697 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكــم ورحمـة الله وبركاتــه ،،

عامل ابليكشن لتسجيل الكورسات اون لاين بس عاوز اخلى المستخدم اللى مسجل فى كورس فى فترة زمنية معينة ميقدرش يسجل فى كورس تانى لو هيكون فية ايام فى نفس الفترة الزمنية بتاعت الكورس التانى

ارجو المساعدة

#2

وعليكم السلام

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

يعنى العلاقه بين الطالب والكورس هتبقى one to many

لان الكورس الواحد فيه اكتر من طالب لكن الطالب الواحد فى (التاريخ الواحد) ملوش غير كورس واحد

وهتزود فى جدول الطالب column اسمه status

وده بيدل على حاله الطالب لو مسجل فى كورس معين هتخليه بواحد ولو العكس هتخليه بصفر

فلو الطالب عاوز يسجل فى كورس تانى هتروح تشوف حالته اولا 0 ولا 1

وعند انتهاءمحتوى الكورس هتعمل update لكل الطلبه المشتركين فيه وتخلى status =0

وبكده يقدروا يشتركوا فى كورسات تانيه

يارب اكون ساعدتك

أُحبُّ الصَّالِحِينَ وَلسْتُ مِنْهُمْ ××× لَعَلِّي أنْ أنَالَ بهمْ شَفَاعَهْ

وَأكْرَهُ مَنْ تِجَارَتُهُ المَعَاصِي ××× وَلَوْ كُنَّا سَواءً في البضَاعهْ

#3

اشكرك يا اخى على سرعة الرد

بس المشكلة

انا عامل ان الطالب يقدر يسجل فى اكتر من كورس لأنة ممكن يسجل فى كورس ميعادة مثلا 12/5 وينتهى 20/5 ويسجل فى كورس تانى 25/5 وينتهى فى 30/5 بس المشكلة ان ممكن ان الطالب يسجل فى اكتر من كورس فى نفس التوقيت مثلا يسجل فى كورس 12/5 اللى هينتهى 20/5 ويروح مسجل فى كورس تانى يبتدى فى 13/5 فكدا هيكون عمل مشكلة وهوا مش عارف لأنة مش ممكن يحضر اكتر من كورس فى نفس الوقت انما يقدر يسجل فى اكتر من كورس بس المهم انهم مش يشتركو فى نفس الوقت

انا عامل جدول للكورسات فيها IDCourse للكورس وبياناتة منها ال Date

وعامل جدول للطلبة فيها IDUser الطالب وبياناتة

وعامل جدول ثالث فية IDCourse و IDUser

ارجو المساعدة

تم تعديل هذه المشاركة بواسطة hamada252_eg في 12 مايو 2009 في 20:34

#4

يعنى العلاقة بين الطالب والكورس many to many

فى اكتر من طريقه

لكن ممكن تريح دماغك وتزود حقل فى جدول الطالب اسمه MinRegisterDate ويكون allow null

ولما الطالب يسجل فى كورس معين تسجل CourseEndDate فى هذا الحقلMinRegisterDate

ولما الطالب يسجل فى كورس تانى حد الحقل ده لو فاضى يبقى الطالب مسجلش فى اى كورس

لو فيه قيمه تبقى هى دى تاريخ انتهاء اخر كورس خده وقارنها CourseBeginDate الجديد

لو

تاريخ انتها الكورس القديم CourseBeginDate > MinRegisterDate يتاريخ بداية الكورس الجديد

ok يسجل وبعد كده تعمل تحديث

الجديد MinRegisterDate=CourseEndDate

أُحبُّ الصَّالِحِينَ وَلسْتُ مِنْهُمْ ××× لَعَلِّي أنْ أنَالَ بهمْ شَفَاعَهْ

وَأكْرَهُ مَنْ تِجَارَتُهُ المَعَاصِي ××× وَلَوْ كُنَّا سَواءً في البضَاعهْ

#5

طب مهو ممكن ينزل كورس فى شهر 5 مثلا هيسجل فية وبعد كدة ينزل كورس لشهر 8 يسجل فية بردة لغاية دلوقتى كويس بس لو نزلت كورسات شهر 6 او شهر 7 وحب يسجل فيها فى الحالة دى مش هينفع مع انو مش هيكون عندو كورسات فى الحالة دى وهيكون فاضى

اعمل اية

#6

نفترض ان ده حصل

برده ريح دماغك وزود حقل جديد فى جدول الطالب اسمه newCoureStartDate ويكون allow null

وده هيكون تاريخ بدا الكورس الجديد

اول كورس

1-5-2009 بدايته

15-5-2009نهايته

1-8-2009بدايه الكورس الجديد كور س لسه نازل هشوف لو او العكس اتحقق

بدايته 1-6- 2009> 15-5-2009

AND نهايته 15-6-2009 اقل من 1-8-2009

كور س جديد

1-8-2009بدايته

15-8-2009نهايته

nullبدايه الكورس الجديد 1-6-2009 updated

كور س لسه نازل هشوف لو

بدايته 1-7- 2009 اقل من 15-8-2009 او العكس اتحقق

AND نهايته 15-7-2009 اكبرمن 1-6-2009

يارب اكون ساعدتك

أُحبُّ الصَّالِحِينَ وَلسْتُ مِنْهُمْ ××× لَعَلِّي أنْ أنَالَ بهمْ شَفَاعَهْ

وَأكْرَهُ مَنْ تِجَارَتُهُ المَعَاصِي ××× وَلَوْ كُنَّا سَواءً في البضَاعهْ

#7

لو انا دلوقتى الطالب مسجل فى كورس

بدايتة 15/5/2009

ونهايتة 20/5/2009

وسجل فى كورس تانى

بدايتة 25/5/2009

ونهايتة 30/5/2009

ونزل كورس ثالث

يبتدى 17/5/2009

وينتهى فى 22/5/2009

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

#8

انا شرحت الفكرة بس الكتابة مظبتتش

اولا كل تعاملك هيعتمد على الفترات

انت المطلوب منك انك تعرف الفترات اللى الطالب فاضى فيها

وهى عباره عن تاريخ انتهاء الكورس القديم الى تاريخ بدايه الكورس الجديد

ولما يجى كور س تانى هتشوف هل ينفع الفتره بتاعت الكورس ده تدخل فى كل الفترات اللى الطالب فاضى فيها

طب هتعمل ده ازاى

علشان متشتغلش على اكثر من row حاول تجمع الفترات فى row واحد

يعنى هتزود حقل جديد اسم بدايه الكورس الجديد allow null

لو انا دلوقتى الطالب مسجل فى كورس

بدايتة 15/5/2009

ونهايتة 20/5/2009

بدايه الكورس الجديد null

وسجل فى كورس تانى

بدايتة 25/5/2009

ونهايتة 30/5/2009

بدايه الكورس الجديد null

هشوف هل فتره الكورس دى 25-5الى 30-5 ملهاش تقاطع مع 20-5 ال null

هتقارن البدايه للكورس التانى مع النهايه وتقارن نهايه الكورس التانى مع البدايه

وتقول لو البدايه للكورس التانى > النهايه AND نهايه الكورس التانى <البدايه

OR

البدايه للكورس التانى < النهايه AND نهايه الكورس التانى >البدايه

والموضوع ده هتطبقه على كل الصفوف بس علشان معندناش غير كورس واحد الطالب مسجل فيه

طبعا الشرط هيتحقق لان البدايه للكورس التانى > النهايه 25-5 > 20-5 والnull ممكن نتجاهلها لان ده اخر كور س خده

بعد كده نعمل update بتاريخ الكورس التانى فى الكورس الاول

بدايتة 15/5/2009

ونهايتة 20/5/2009

بدايه الكورس الجديد 25-5-2009

وبكد يكون عندى الفتره اللى الطالب فاضى فيها من 20-5 الى 25-5 ودى اللى بعمل عليها check فى حاله كورس جديد

ونزل كورس ثالث

يبتدى 17/5/2009

وينتهى فى 22/5/2009

بدايه الكورس الجديد null

الفترات اللى فاضيه عند الطالب من 20-5الى 25-5

من 30-5 الى null

هل 17-5 > 20-5 و 22-5<25-5 لم يتحقق

او

هل 17-5 < 20-5 و 22-5 > 25-5 لم يتحقق

والموضوع ده على كل الفترات للطالب

ونعمل الشرط ده لان ممكن نكون بدايه الفتره اكبر من نهايتها

مثال نهايه كور س شهر 8 15-8 بدايه كورس شهر 6 1-6

الفترة 15-8 الى 1-6

او العكس

مثال نهايه كورس شهر خمسه 15-5 بدايه كورس شهر 8 1-8

الفتره 15-5 الى 1-8

يارب اكون ساعدتك

أُحبُّ الصَّالِحِينَ وَلسْتُ مِنْهُمْ ××× لَعَلِّي أنْ أنَالَ بهمْ شَفَاعَهْ

وَأكْرَهُ مَنْ تِجَارَتُهُ المَعَاصِي ××× وَلَوْ كُنَّا سَواءً في البضَاعهْ

#9
اقتباس
هشوف هل فتره الكورس دى 25-5الى 30-5 ملهاش تقاطع مع 20-5 ال null

هتقارن البدايه للكورس التانى مع النهايه وتقارن نهايه الكورس التانى مع البدايه

وتقول لو البدايه للكورس التانى > النهايه AND نهايه الكورس التانى <البدايه

OR

البدايه للكورس التانى < النهايه AND نهايه الكورس التانى >البدايه

ازاى اعمل فحص لهذا التقاطع ودا عندى تاريخ مش رقم اقدر اقارنة

#10
 if (Calendar1.SelectedDate > Calendar2.SelectedDate)
		{
			Response.Write(" calender1  greater than  calender2");
		}
		else if (Calendar1.SelectedDate < Calendar2.SelectedDate)
		{
			Response.Write(" calender1  less than  calender2");

		}

		else if (Calendar1.SelectedDate == Calendar2.SelectedDate)
		{
			Response.Write(" calender1  equal calender2");

		}

أُحبُّ الصَّالِحِينَ وَلسْتُ مِنْهُمْ ××× لَعَلِّي أنْ أنَالَ بهمْ شَفَاعَهْ

وَأكْرَهُ مَنْ تِجَارَتُهُ المَعَاصِي ××× وَلَوْ كُنَّا سَواءً في البضَاعهْ

#11

الأخ الكريم/الأخت الكريمة

السلام عليكم ورحمة الله وبركاته

مرحباً بكم في منتدى الفريق العربي للبرمجة

نود تنبيهك أن العنوان غير مناسب.

الرجاء اختيار عنوان مناسب أكثر في مواضيعك القادمة، وهذا بمثابة إشعار للأهمية.

وفي حال التكرار سيتعرض موضوعك للإغلاق والحذف!!!

قواعد المشاركة

/index.php?showtopic=29343

شاكرين لكم حُسن تعاونكم

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#12

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

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…