ورود

View Full Version : انتخاب درس دانشجو بدون تداخل



intermanch
یک شنبه 30 خرداد 1389, 14:28 عصر
من جدول اطلاعات درسی بشکل زیر دارم
مدت کلاس--- ساعت شروع---- روز کلاس--- ترم--- سال تحصیلی- شناسه کلاس --شناسه درس
2---------- --------- 8 ------------شنبه-------- -1------------- 88-- -------51 -----10
2---------- --------- 10 ----------شنبه-------- -1------------- 88-- -------51 -----10
1---------- ---------12 ----------شنبه----------1------------- 88-- -------51 -----10

حالا می خوام یه درس جدید اضافه کنم اما تداخل بوجود نیاره
من خیلی فکر کردم درس جدید چه شرایطی داشته باشه:
1- در جدول زمان شروع یکسان برای یک روز و یک ساعت نباشه
2- علاوه بر بالایی در اگه کلاسی ساعت شروعی کمتر از شروع عای جدول داشت اما مدتش باعث ورود به کلاس های موجود میشد امکان پذیر نباشه
یعنی:
زمان شروع ورودی جدید =! زمان های شروع های موجود جدول
و
زمان شروع جدید + مدت جدیده =! مابین شروع موجود تا پایان(شروع+مدت) نباشه

برای عدم تداخل استاد در یک روز فکر دیگری دارم اما فعلا برای این چه کد mysql در phpمی توان در نظر گرفت؟!






$t1=$_POST['t6']; ساعت شروع

$t2=$_POST['t7'];مدت
[RIGHT]//test roz v sa at
$h1 = mysql_query("SELECT * FROM `erayertermidros` where `rozklas`='$t1' and `clasnumber`='$t2'");
while($row = mysql_fetch_array($h1))
{
$row['rozklas']; $row['clasnumber']; $row['hstartclass'];$row['modat'];
if ($_POST['t8'] <= $row['hstartclass'] && $_POST['t8']+$_POST['t9'] <= $row['hstartclass']+$row['modat]')
echo "this is very bad";
}

اوبالیت به بو
یک شنبه 30 خرداد 1389, 15:13 عصر
سلام

این روش چطوره:

هر روز از هفته یک کد منحصر به فرد داره.

قبل از ثبت بیاد چک بشه که درس با کد x مقدار فیلد روز در هفته ای که داره با ساعتش بیاد با کل لیست مقایسه بشه.

intermanch
یک شنبه 30 خرداد 1389, 15:57 عصر
دوست عزیز ممنون از راهنمایی میدونم تو سایت هستی
من میتونم چک کنم که هیچ درسی در یه در روز و ساعت شروع یکسان مشابه نشه
اما همونطور که مثال زدم ممکنه یکی بگه 7.30 کلاسی را ثبت کن
در این صورت روز یکسان اما ساعت یکسان نیست و بدون ارور ثبت میشه اما معنی و مفهومش اینه که پس از نیم ساعت با کلاس ساعت 8 تداخل پیدا میکنه

من می خوام ساعتشون یکی نباشه یا بهم نرسه وگرنه اینکه درسی با یک ایدی دوبار وارد نشه کار اسونیه

شنیدی میگن حقوق تجزیه تحلیل و روال کار چند برابر برنامه نویسی و کد نویسی هست؟
حالا من از بازدید کنندگان کد نمی خوام اما یه روال یا ایده برای کنترل در عدم تداخل می خوام

تو از اونایی هستی که فکر میکنی و جواب میدی متشکرم

اوبالیت به بو
دوشنبه 31 خرداد 1389, 04:45 صبح
هر کلاس درسی شامل اجزا زیر هست:
کد منحصر به فرد، روز کلاس (که می تونه چند روز در هفته باشه اما برای سادگی فرض می کنیم که در 1 روز ارائه میشه)، ساعت کلاس، استاد و غیره.
شما وقتی یک کلاس درس رو ثبت کردی در جدول برای درج کلاس درس بعدی باید همزمان این شرط رو چک بکنی:
1- روز ها با هم نباشن: اگر با هم بودن برو ساعت ها رو چک کن
2- ساعت این کلاس درس نباید برابر با هیچ کلاس درسی در اون روز باشه و نباید بین ساعت شروع و ساعت پایان اون کلاس درس باشه. Not Between (start - end)

یه همچین چیزی میشه.

یعنی اول روز رو چک می کنی بعد حالا اگر تو اون روز نبود که هیچی ولی اگر بود ساعت ها رو چک می کنی

intermanch
سه شنبه 01 تیر 1389, 15:33 عصر
دوست عزیز از راهنمایتون ممنون
خیلی کمکم کرد //اما من با کلی فکر کردن فهمیدم چند حالت تداخل وجود دارد

در نظر بگیر روز و ساعت کلاس را (فعلا به استاد کار نداشته باش برا اونم راه حلی پیدا کردم)


1- ساعت شروع دیتابیس مساوی ساعت شروع موجود
2- ساعت شروع موجود(دی بی) بین بازه ی شروع و پایان درخواستی کاربر قرار گیرد
3 - زمان پایان موجود در دی بی در میان دو بازه ی درخواستی کاربر قرار گیرد
4 هم شروع در خواست هم پایان درخواست وسط کلاس دیگر است

به نوشتار سلکت در اس کیو ال همه رو پیدا سازی کردم

کلام روز و ساعت شما خیلی کمکم کرد می بوسمت موفق باشی// من دوست ندارم از اون ایرانیای اهل تعرف باشم که الکی بگم براتون ارزوی موفقیت می کنم واقعا موقف باشی!!:چشمک: