PDA

View Full Version : بررسی عملکرد سیستم های رزرو



dddd10
پنج شنبه 20 شهریور 1393, 14:32 عصر
سلام
دوستان مدتیه انواع سیستم های رزرو را دانلود کردم تا ببینم نحوه کار هرکدوم به چه صورته. میخوام خودم یکی بنویسم ( در سطح معمولی تا دستم راه بیوفته ).

برای ساختشون چه مواردی باید مد نظر گرفت؟ میشه توضیح بدین چه جداولی با چه فیلدهایی نیازه؟

DR.HTML
پنج شنبه 20 شهریور 1393, 15:57 عصر
کلا کاری نداره دو نوع کاربر داره که یکیش میاد سفارش میده یکیش تایید رزروها توی دیتابیس ثبت میشن دو نوع هستن تایید شده و نشده در اصل شما باید ببینید برای چه سیستمی میخواین رزورو رو بنویسید مثلا هتل ؟ ضمناا باید مشخصات چیزیو که باید رزرو کرد باشه که توی تیبل جدا ثبت میشه

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

dddd10
پنج شنبه 20 شهریور 1393, 17:33 عصر
رزرو کتاب فکر کنم خیلی ساده تر از هتل باشه در این مورد توضیحات بنویسین لطفا.

خوبیه سیستم رزرو اینه که دیگه نیاز نباشه یک کاربر برای تایید رزرو اختصاص داد. اگر کتاب آزاد باشه باید بصورت خودکار ثبت بشه درسته؟

DR.HTML
پنج شنبه 20 شهریور 1393, 20:27 عصر
رزرو کتاب :D ?
مگه چیزی به اسم رزرو کتاب داریم ؟ منظورتون کتابخونست ؟

dddd10
پنج شنبه 20 شهریور 1393, 21:31 عصر
بله. ولی اونم مدیریت هتل هست که بعدش میگن رزرو اتاق

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

Mohammadsgh
پنج شنبه 20 شهریور 1393, 21:53 عصر
حتما باید مدیریت کتاب باشه؟cms باشه نمیشه؟:لبخندساده:

DR.HTML
پنج شنبه 20 شهریور 1393, 22:51 عصر
خوب اینکه دونوع کاربر داره یه کاربر که کارش رزروه کاربر اصلی یا مدیر یه تیبل داره برای معرفی کتابهاش و هر کتاب به عنوان مثال یه سری مشخصه داره مثلا نویسنده ناشر . سبک کتاب . رده سنی کتاب . زبان کتاب و.... حالا میا د این کتابهارو معرفی حالا اخرش یه فیل داره با عنوان اینکه کتاب رزرو شده یانه ! حالا یوزر میاد این سری کتب رو میبینه هرکدومو میخواد ثبت میکنه با نام خودش این سفارشات توی یه تیبل دیگه ذخیره میشن که مدیر میتونه این لیسو ببینه و میتونه رد کنه یا تایید کنه ضمنن برای شاخ برگ میتونید صف رزرو هم درست کنید کاری نداره یه ارتابط many to many هستش و....

dddd10
پنج شنبه 20 شهریور 1393, 23:06 عصر
حتما باید مدیریت کتاب باشه؟cms باشه نمیشه؟:لبخندساده:

متوجه نشدم؟؟


خوب اینکه دونوع کاربر داره یه کاربر که کارش رزروه کاربر اصلی یا مدیر یه تیبل داره برای معرفی کتابهاش و هر کتاب به عنوان مثال یه سری مشخصه داره مثلا نویسنده ناشر . سبک کتاب . رده سنی کتاب . زبان کتاب و.... حالا میا د این کتابهارو معرفی حالا اخرش یه فیل داره با عنوان اینکه کتاب رزرو شده یانه ! حالا یوزر میاد این سری کتب رو میبینه هرکدومو میخواد ثبت میکنه با نام خودش این سفارشات توی یه تیبل دیگه ذخیره میشن که مدیر میتونه این لیسو ببینه و میتونه رد کنه یا تایید کنه ضمنن برای شاخ برگ میتونید صف رزرو هم درست کنید کاری نداره یه ارتابط many to many هستش و....

ممنون جناب dr.html
یه سوالی دارم. توی اسکریپت ها اکثرن چک میکرد از چه تاریخی تا چه تاریخی کتاب یا اتاق دست شخص دیگری هست. و خودکار بعد از تاریخ اتمام کتاب و یا اتاق آزاد میشد.
این قسمتو هرچی فکر میکنم گنگ تر میشه واسم

DR.HTML
پنج شنبه 20 شهریور 1393, 23:38 عصر
اینو به چند روش میشه انجام داد یکیش mysql events هست یکیش Cronjobs هست و روشهایی که هنوز بهش فکر نکردم

dddd10
جمعه 21 شهریور 1393, 15:41 عصر
یه روش رزرو خیلی ساده اومد به ذهنم میشه کمکم کنی؟ تحلیلش رو تقریبا فهمیدم ولی کد نوشتنش خیلی سخته!!

مثلا از ساعت 9 صبح تا 1 پذیرش مطب هست. هر بیمار نیم ساعت میانگینش میشه. کاربر اگر برای امروز درخواست رزرو داره اسم و فامیلش رو بنویسه و بعد دکمه ثبت خود سیستم بهش بگه چه ساعتی بیاد. به ترتیب از 9 شروع بشن تا 1. جطوری کد بنویسم که مشخص بشه اگر امروز 11-9-2014 شخصی اولین نفره برای ساعت 9؟ ( نمیفهمم چطور دستور where داخل sql بخواد شرطو بررسی کنه. چون شاید شخصی برای هفته دیگه اولین نفر دکمه ثبتو زده و حتما شرط برسی بوسیله تاریخ باید باشه )
بعد از بررسی تاریخو بگیرم و +30 دقیقه اضافه بشه
:افسرده:

DR.HTML
جمعه 21 شهریور 1393, 18:00 عصر
دوست عزیز اینا همش الگوریتمهای سادست واقعا بنده نمیدونم وقتی شما نمیتونین همچین الگوریتم ساده ای رو پیاده کنید چطوریم یخواین کدشو بنویسین ؟

توی تیبل که ثبت میشه اولین بیمار یه فیل ددارین به نام ساعت که زده میشه 9 حالا بعد + 30 دقیقه میشه همینطور ادامه پیدا میکنه تا 1 ضمنن برایا ینکار بهتر از timesptamp استفاده بشه و بعد تبدیل به ساعت ساده بشه برای نمایش .

dddd10
جمعه 21 شهریور 1393, 18:12 عصر
ذهنم خیلی شلوغه و بعضی جاهاش واقعا هنگ میکنم. این قسمتو کامل نوشتم و منتظر بودم شما پاسخ بدین به پستم.

فقط یه مشکل داره که ممنون میشم توضیح کاملی بدین:

اگر فردا که هیچ رکوردی ثبت نشده و روز جدیدی هست، کاربر بخواد وقت قبلی بگیره به چه صورت شرطمو بنویسم که اولین رکوردی که ثبت میکنن ساعت 9 را ذخیره کنه؟؟ :متفکر:

DR.HTML
جمعه 21 شهریور 1393, 18:19 عصر
خوب گفتم که اول باید بیاد آخرین ثبت اونروز رو بخونه دو حالت پیش میاد یا ثبت داره یا نه اگر نداشت که تایم اول 9 در صورتی هم که داشت + 9 میشه

dddd10
شنبه 22 شهریور 1393, 00:19 صبح
خوب گفتم که اول باید بیاد آخرین ثبت اونروز رو بخونه دو حالت پیش میاد یا ثبت داره یا نه اگر نداشت که تایم اول 9 در صورتی هم که داشت + 9 میشه
کد این قسمتو میشه بنویسی برام؟ متوجه توضیحش شدم اما توی کد نوشتنش مشکل دارم

DR.HTML
شنبه 22 شهریور 1393, 01:00 صبح
$reservs=mysql_query('SELECT * FROM `reservs` ORDER BY time DESC');
if(mysql_num_rows($reservs)>0)
$reserv=mysql_fetch_assoc($reservs);
$newtime=$reserv['time'] + 1800;
mysql_query("INSERT INTO `reservs` (name , time ) VALUES ($name , $newtime)");



ببینید این کد من کامل نیست و فقط بحث راهنمایی ! من اخرین فیلدو خوندمو به فیلد بعد به اندازه 30 دقیقه دیگه یه وقت دیگه براش گذاشتم ! شما غیر از اینکار باید کارهای دیگم بکنید مثلا اینکه ببینید مثلا اون فیلدی که خوندین اصلا مال اون تاریخ هست ! اگر نیست باید نوبتو برای فردای اونروز بزنه حتی اگر فرداش جمعه باشه باید برای پس فردا بزنه ضمنن باید اخرین فیلد رو که میخونید نباید بیشتر از 1باشه یا ممکنه اونروز اصلا تعداد نوبت ها به تعداد کافی نرسه فرداش نره ادامه همونو بزنه وتاریخ برای دیروز بزنه در کل پیشنهاد من اینه چندتا فیلد زمان ذخیره کنید که راحت کار کنید یکی timestamp یکی ساعت نوبت که از timestamp درش اوردید تبدیلش کردید یکیم تاریخ اونروزی که رزرو شده و درنهایت اینکاراو باید با تاریخ حال انجام بدید :متفکر:
به همین سادگی

dddd10
شنبه 22 شهریور 1393, 14:09 عصر
خیلی کمکم کردین

میخوام توی هر روز بعد از ثبت 11 تا رکورد دیگه سیستم چیزی ذخیره نکنه. این کد جواب نداد !!! همینجور ثبت میکنه!!!


elseif(mysql_num_rows($query1) < 11 ){ $insert = mysql_query("INSERT INTO `reserve` VALUES('','$fullname','$getDate','$result_NewTime' ) "); header("Location: index.php"); }

godofphp
شنبه 22 شهریور 1393, 14:20 عصر
از اونجایی که شما این سوال رو در تاپیک php پرسیده اید حتما میخواهید این پروژه رو با php پیاده کنید و تقریبا این پروژه ی ساده میباشد
سیستم رزرو به چندین صورت نوشته میشه من یه سناریو اینجا مینویسم از روش میتونی الگوریتم بنویسی و به راحتی با استفاده از کتابخانه های غنی که برای فریمورک ها موجود است پیاده کنی مثل همه ی برنامه ها


کاربر میاد سایت شما رو میبینه
ثبت نام میکنه
یک سفارش رزرو میفرسته
این سفارش در یک جدول در انتظار تایید نگهداری میشه
مدیر وارد سایت میشه
در یه لیستی تمامی رزروهایی که در صف انتظار هستند رو تایید میکنه
از توی جدول انتظار حذف میشه
به قسمت جدیدی اضافه میشه یا قسمت جدیدی رو آپدیت میکنه
و همینطوری یک سیستم با اضافات بیشتر پیاده میشه


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

DR.HTML
شنبه 22 شهریور 1393, 16:36 عصر
خیلی کمکم کردین

میخوام توی هر روز بعد از ثبت 11 تا رکورد دیگه سیستم چیزی ذخیره نکنه. این کد جواب نداد !!! همینجور ثبت میکنه!!!


elseif(mysql_num_rows($query1) < 11 ){ $insert = mysql_query("INSERT INTO `reserve` VALUES('','$fullname','$getDate','$result_NewTime' ) "); header("Location: index.php"); }

این کد من کاری نمیکنه من فقط مثال زدم براتون !