درخواست کد زمان برای یک آزمون

این تاپیک 1 پاسخ و 2 مشارکت کننده دارد . آخرین آپدیت توسط :  فرشید رضائیان ،‏ 3 سال و 3 ماه پیش .

این تاپیک تاکنون 1078 بازدید داشته است .

نویسنده پست
دوشنبه ، 12 آگوست 2013     1:03 ق.ظ #


somayehyari

Subscriber
2 پست5 تاپیک

من یک آزمون آنلاین طراحی کردم که میخاهم در یک زمان مشخص این آزمون انجام بگیرد که پس از پایان زمان فرصت داوطلب هم تمام شود جهت نوشتن این کد راهنمایی کنید

با تشکر

1  تشکر
پنجشنبه ، 15 آگوست 2013     8:15 ب.ظ #


فرشید رضائیان

Subscriber
22 پست12 تاپیک

سلام ، دوست عزیز ، میتونید با استفاده از ایجکس این کار رو انجام بدید . به این صورت که

یک تاریخ شروع آزمون در دیتا بیش باید برای هر ازمون ایجاد بشه .

 

و همین طور یک تاریخ پایان  - اگر میخوایید در ساعت خاصی هم اعمال بشه ساعت هم باید تعریف کنید .

 

از اونجایی که  میخوایید حالت تایمر معکوس ایجاد کنید  قطعا با PHP - js نمیشه کاری کرد که این روند کاهش تایم خودکار طی بشه و برای اینکه کاربر بتونه مدت زمان مانده رو ببینه  باید اختلاف بین دو تاریخ رو محاسبه کنید و به کاربر خروجی نشون بدید . حالا اگر میخوایید به صورت تایمر متحرک این کار رو بکنید . باید با استفاده از PHP بیایید   هنگام ورود کاربر جهت نمایش تاریخ ، ابتدا اختلاف بین تاریخ ها رو حساب کنید ( اگر ساعت و دقیقه هم دارد اونا هم حساب کنید ) بعد از محاسبه یه کوئری آپدیت بنویسید که تاریخ جدید و مطابق با ورود کاربر به سایت رو ببره توی دیتا بیس  و اپدیت کنه . بعد از اون  مقدار آپیدت شده و به روز رو به کاربر نشون بدید و بعد با ایجکس هر یک ثانیه ، یک مقدار از اون رو کم کنید و به صورت ایجکس ببرید توی دیتا بیس ذخیره کنید .  حالا اگر به صورت  روز و ساعت و دقیقه هست یه کم محاسبات پیچیده میشه که اگر ثانیه به 0 رسید دقیقه رو یکی کم کنه بعد ذخیره کنه و ...  . اینجوری تا زمانی که کاربر وارد سایت هست تایمیر معکوس کار میکنه وقتی خارج بشه قطعا این تایمیر از کار می افته و آپدیتی انجام نمیشه اما هنگام ورورد مجدد به سایت باز  تاریخ همون اول آپدیت میشه و تایمیر از تاریخ جدید مجدد شروع به شمارش معکوس میکنه ( دقیقا مثل سایت های حراجی و .... )  وقتی هم که تاریخ  سرور یعنی همون تاریخ روز ، بزرگ تر از تاریخ پایان هر آزمون که توی دیتا بیس ثبت شده بشه آزمون غیر فعال میشه میتونید با چند تا شرط ساده این کار رو بکیند توی شرط بنویسید اگر تاریخ بزرگ تر بود مثلا بیاد status آزمون  ( با شناسه مشخص ) رو برابر off قرار بده ، حالا میتونید توی صفحه نمایش آزمون اونایی که on هستند رو فعال نشون بدید و اونایی که off هستند رو غیر فعال ، و یا اصلا نمایش ندید .

 

موفق باشید .

 

فرشید رضائیان

 

 

 

1  تشکر
پست 1 تا 2 (از مجموع 2 پست)

برای پاسخ دادن به این تاپیک باید وارد سایت شوید .