• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
کوئری اتاق خالی
#1
سلام
دوستان من یک فرم پی اچ پی دارم که Start Day و End Day رو از گاربر به صورت شمسی دریافت میکند
حالا باید اتاق هایی که در این تاریخ هستند رو پیدا کنم

ساختار جدول هام به این شکله :

جدل اتاق ها :

room_id
hotel_id - آی دی هتل
room_type - نوع اتاق ( یک تخته ، لوکس ، دو تخته و ... )
room_price - قیمت اتاق
room_exist - تعداد موجودی اتاف های خالی

جدول رزرو
order_id
hotel_id - آی دی هتلی که کاربر در آن اتاق گرفته
user_id - آی دی کاربر
startDay - تاریخ شروع رزرو (1-1-1393)
endDay - تاریخ پایان رزرو ( 5-1-1393)
room_type - نوع اتاق رزرو شده ( یک تخته ، دو تخته ، لوکس و ... )

حالا میخوام بر این اساس جستحو انجام بدم :

1 ) دریافت نوع اتاق ( لوکس ، یک تخته و ... )
2 ) روز شروع رزرو
3 ) روز اتمام رزور

و بتونه اتاق هایی که در این بازه ی تاریخی خالی هستند رو ببینم

ممنون میشم راهنمایی کنید
  پاسخ
تشکر شده توسط :
#2
این کار اشتباهی هستش که به صورت شمسی ذخیره کنی
همش رو میلادی ذخیره کن و از یه کلاس مثل pdate استفاده کن برای نمایش فارسی
اینطوری می تونی از توابعی که برای تاریخ در php هست استفاده کنی

ضمن اینکه یکی از راه هاش اینه که می تونی تاریخ رو به صورت YYYYMMDD هم ذخیره کنی و چک کنی که آیا کوچکتر از تاریخ شروع رزرو یا بزرگتر از تاریخ اتمام رزرو هست یا نه
اگه بود ینی در دسترسه و ...
همه جوره اش رو داریم ظاهرن
  پاسخ
تشکر شده توسط :
#3
مرسی مولانا جان
ولی من دنبال یک راه حل هستم که کمی واضحتر بتونم این مشکلو حل کنم شما خیلی کلی گفتی و من کلاً متوجه نشدم که باید چی کار کنم

میخوام ببینم اگر ساختار جدولم اشتباه هست به چی تغییرش بدم و چجوری این کارو انجام بدم

ممنون میشم دوستان راهنمایی کننHeart
  پاسخ
تشکر شده توسط :
#4
ببین هر تاریخ یه عدده
13920805
13920815
این دوتا عدد ۱۰ روز با هم اختلاف دارن
خب قاعدتن عددی که بین اینا باشه ینی اینکه نمیتونه اتاق رو رزرو کنه
همه جوره اش رو داریم ظاهرن
  پاسخ
تشکر شده توسط : ashkanj
#5
مرسی
الان من تو جدول رزروم تاریخ شروع و تاریخ پایان و نوع اتاق رو دارم
کوئریمو چجوری باید بنویسم که تاریخ ورود و شروع را از کاربر میگیره تو چدول رزروم چک کنه ؟؟؟
  پاسخ
تشکر شده توسط :
#6
کد پی‌اچ‌پی:
<?php
$userDate 
date('Y-m-d');
$userDate=date('Y-m-d'strtotime($userDate));;
$reservedStart date('Y-m-d'strtotime("01/01/2001"));
$reservedEnd date('Y-m-d'strtotime("01/01/2012"));

if ((
$userDate $reservedStart) && ($userDate $reservedEnd))
{
  echo 
"Sorry, Reserved";
}
else
{
    echo 
"Free. Reserve please!";  

همه جوره اش رو داریم ظاهرن
  پاسخ
تشکر شده توسط : ayoubsys
#7
این چیه جناب مولانا Big Grin
میشه یه توضیحی بدی . userDate الان کارش چیه ؟
  پاسخ
تشکر شده توسط :
#8
سلام

ساختار جدول اشتباهه.
به یـزدان که گر ما خرد داشتیم
کجـا این سر انجـام بد داشتیم؟
  پاسخ
تشکر شده توسط :
#9
سلام sara147

خب میشه ساختار درستشو بگید ؟
  پاسخ
تشکر شده توسط :
#10
اگر پروژه برای یک هتل هست نیازی به hotel_id در جدول room نیست.
در جدول رزرو hotel_id رو به room_id تغییر بدین.
در جدول room به ازای هر اتاق یک سطر در جدول قرار میگیره؟
به یـزدان که گر ما خرد داشتیم
کجـا این سر انجـام بد داشتیم؟
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان