دوستان سلام
یه پروژه آموزشگاهی داریم بالاراول .
مشکلی که دارم اینه که هر آزمون با آزمون دیگه کاملا متفاوته و شروط قبولیه متفاوتی داره و به همین خاطر نمیشه به صورت پیشفرض داخل کدها مشخص کرد که با کسب چه امتیازی چه نتیجه ای به کاربر نمایش داده بشه و این شروط باید موقع ثبت آزمون توسط استاد تعیین بشه .
مثلا
یه آزمون ۲۰ تا سوال داره و استاد تعیین میکنه که اگه ۵ تا سوال رو درست جواب داد فلان پیام نشون داده بشه و اگه ۱۰ تا جواب داد فلان و الی آخر .
این شروط باید توسط استاد به صورت مختلف ثبت بشه.
حالا این شروط رو چطور باید تو دیتابیس ذخیره کرد و طبق اون پردازش کرد و نتایج رو نمایش داد ؟
یکسری دیتای مشخص برای خودت داشته باش که همشون توی دیتابیس ذخیره بشه مثلا حساب و کتاب کن برای یک آزمون چه چیزهایی لازمه؟
تعداد کل سئوالات ؟
نمره هر سئوال ؟
حداقل نمره جهت قبولی؟
حداکثر زمان آزمون ؟
و کلی پارامتر دیگه که یک آزمون رو تشکیل میده و در نهایت وقتی این دیتا هارو از دیتابیس میگیری خیلی کار سختی نیست که بفهمی اگر نمره شخص از حداقل نمره ایی که مشخص شده برای قبولی بیشتر بود پس اون شخص قبول شده و برعکس اگر کمتر بود یعنی شخص رد شده اصلا نیاز نیست از داخل خود کد چیزی رو مشخص کنی چونکه اینجوری از طریق دیتابیس خیلی هم تمیزتر و حرفه ایی تر میشه چونکه دیگه در طولانی مدت مشکلی برات ایجاد نمیکنه و تا مدت ها تا زمانی که نخوای توسعه بدی برنامه رو راحت کار میکنه
یک مثال ساده
$min_grade = 5;
$user_grage = find_user_grade();
if ( $user_grade >= $min_grade) {
// کاربر قبول شد
}else{
// کاربر رد شد
}
function find_user_grade () {
// در این تابع بسیار ساده تنها لازمه تمامی سئوالات پاسخ داده شده توسط کاربر رو دریافت کنید و نمره هر سئوال رو جمع ببندی
return $grade; // حاصل جمع نمرات رو return کن
}
ممنونم 🙏
مشکل همینجاست که حداقل و حداکثرها اصلا ثابت نیستن و کاملا برای هر آزمون متفاوته . حتی تعداد شرطها هم متفاوته و ممکنه یک آزمون دو تا شرط داشته باشه آزمون بعدی ۲۰ تا .
شروط هر آزمون باید یه جوری داخل دیتابیس ذخیره بشه و موقع محاسبه نتایج بیاد از این شروط استفاده کنه و محاسبه کنه
مگه فرانت نداره پروژه ؟ خب میتونید توی فرانت پروژه اینهارو تعریف کنید موقع ایجاد آزمون جدید دیگه مثلا مشخص کنید حداقل نمره مورد نیاز چقدر باشه و ... و برای هر سئوالی که برای هر آزمون تعریف میشه هم میتونید بارم اون سئوال رو در فرانت بگیرید از کاربر یا مدرس و در بک اند در دیتابیس ذخیره کنید
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟