Bir otel odası rezervasyonu ya da herhangi bir şey için tarih aralığını seçmek için mysql sorgusu için yenilemeyi ihtiyaç

0 Cevap php

i aşağıdaki gibidir projemde bir durum vardı.

mevcut oda için kontrol ederken

$sel_from_bookings="SELECT room_no FROM `booking` WHERE (('".$_POST['req_tdate']."' BETWEEN check_indate AND check_outdate) OR ('".$_POST['req_fdate']."' BETWEEN check_indate AND check_outdate)";

$sel_from_reserv="SELECT room_no FROM `reservation` WHERE (('".$_POST['req_tdate']."' BETWEEN check_indate AND check_outdate) OR ('".$_POST['req_fdate']."' BETWEEN check_indate AND check_outdate))"; 

$sel_rooms="SELECT room_no FROM rooms WHERE room_no NOT IN (".$sel_from_bookings.") AND room_no NOT IN (".$sel_from_reserv.")";

İlk sorgu Daterange karşılayan rezervasyon tablodan oda numaralarının listesini ele alır

benzer şekilde, ikinci bir masa rezervasyonu itibaren aynı dos

son sorgu yukarıdaki iki sorgular tarafından sağlanan listesini kullanır ve oluşturulan listede olmayan oda listesini alır.

10-08-2010 / 15-08-2010 için çalışıyor

20-08-2010 / 25-08-2010 için çalışıyor

i 10 ile 15 arasında bir tarih vermek zaman 20 ve 25 için benzer çalışıyor ve aynı zamanda tarihleri ​​14-08-2010 ve 21-08-2010 için çalışıyor

ama 19-08-2010 için 16-08-2010 için çalışmıyor

herhangi bir açıklama gerekiyor lütfen bana sor.

Teşekkürler.

0 Cevap