Merhaba arkadaslar.
Ben rezervasyon hakkında bir calisma yapiyorum.
Mesela uye 2014-12-29 ve 2015-01-03 tarihleri arasında rezervasyon yaptı.
Bu veritabanına giriş ve çıkış tarihi olarak eklendi.
Peki baska bir uye geldi, o da 2014-12-30 ve 2015-01-01 arasinda rezervasyon yapmak istedi fakat rezervasyon yapamayacak ? Çünkü rezervasyon yapılmak istenen tarih ilk uyenin rezervasyon yaptıgı tarihlerin arasında.
Bunu nasıl saglayabilirim :S
İki tarih arasına tarih girememe ?
6
●286
- 29-12-2014, 18:51:57||||||||||||||||||||||||||||||||||| => Rezervasyon Yapılmış Dolu Tarihler
-------- ||||||||||||||||||||||||||||||||||||||| => Rezervasyon Yapılmak İstenen Tarihler
Dikey çizgiler dolu tarihler
Yatay çizgiler boş seçilmemiş tarihler
Yani rezervasyon yapılmak istenen tarihin başlangıç tarihi dolu tarihle kesişmemesi lazım.
SELECT * FROM Rezervasyonlar
WHERE 'rezervasyon yapılmak istenen tarihin baslangic tarihi' BETWEEN giris AND cikis;
Bu sorgudan eğer değer geliyorsa kullanıcı bu tarihe kayıt olamaz - 29-12-2014, 19:06:42Tesekkur ederim orasi oldu.Sable adlı üyeden alıntı: mesajı görüntüle
Fakat bu seferde mesela oda 1 icin kayıt olduk. sorguluyoruz tarihleri tamam arasında kayıt olamazsınız diyor.
fakat oda 2 yi boş orayi alabilir o tarihlerde, bu sefer orayi aldirtmiyor :S - 29-12-2014, 19:17:10Member TablosuSable adlı üyeden alıntı: mesajı görüntüle
MemberID
Name
SurName
Password
Email
Room Tablosu
RoomID
RoomType
BedType
RoomRate
RoomEx
Rezerve Tablosu
ResID
Room_ID (buraları iliskiler icin kullanacam)
Member_ID (buraları iliskiler icin kullanacam)
CheckIn (giriş tarihi)
CheckOut (cikis tarihi) - 29-12-2014, 19:42:00Yine aynı durum hocam.Sable adlı üyeden alıntı: mesajı görüntüle
Misal oda 1 icin;
giris : 2014-01-01
cikis : 2014-01-05
oda 2 icin seçim yapıp
giris : 2014-01-01
cikis : 2014-01-05
bunu seçtigimde hata vermemesi lazim veriyor.(hata derken kayıt etmiyor)
Ayrica sadece baslangic tarihine gore vermissiniz, baslangic tarihi araya gelmez de cikis tarihi araya gelirse ne olacak hocam
iki tane where kullanamıyoruz sanırım :S
edit: o baslangic ve bitis olayini da cozdum. birtek oda işi kaldı. farklı odadan da aynı tarihlerde işlem yaptırabilirsem tamamdir.
select * from rezerve where ('$girisTar' BETWEEN CheckIn and CheckOut) OR ('$cikisTar' BETWEEN CheckIn and CheckOut)
iki tane where kullanamıyoruz sanırım :S