Merhaba arkadaşlar,
araba kiralama sistemi yazıyorum bir sorguda takıldım.
Tablo -> car_hire_price
date_from - date_to - price
2013-10-01 - 2013-10-05 - 0
2013-10-06 - 2013-10-10 - 0
2013-10-11 - 2013-11-05 - 0
Yukarıdaki tabloya fiyat aralıklarını ekliyorum. Benim istedigim eğer aşağıdaki tarihlere eklemeye kalkarsam eklemesin.Yani 0 döndürsün yada true or false da olabilir.
between ile yapmaya kalktım olmadı. nasıl bir sorgu olabilir?
2013-10-04 - 2013-10-10
2013-09-02 - 2013-10-02
2013-10-08 - 2013-10-09
teşekkürler
Eklemiş oldugum tarihler eğer databaste varsa eklemesin?
6
●395
- 03-10-2013, 00:10:562013-10-04 - 2013-10-10 bu ikisinin arasında bir tarih mi yoksa bu tarih mi?Eygun adlı üyeden alıntı: mesajı görüntüle
eğer 2013-10-04 bu tarihe eklemek istemiyosan şöyle yaparsın
mysql ile bağlanırsın where yaparak eklediğin tarihi verirsin mysql_num_rows ile çıkan veriyi sorgulatırsın
if($gelenveri>0){ bu tarihte araç var gülüm. }else{ ekle } - 03-10-2013, 00:49:002'si arasında tarih tabiki. Sonuçta çakışmaması gerekiyor. Biraz daha açıklarsam olayı:Burti adlı üyeden alıntı: mesajı görüntüle
2013-10-01 ile 2013-10-06 arasında databaste bir kayıtım oldugunu varsayarsak eğer ben 2013-10-03 ile 2013-10-05 tarihi eklemeye çalışırsam eklenecektir. Bunu istemiyoruz. eklemeye çalıştıgım tarih ile databaste'te bulunan tarihler çakışmaması gerek. Eğer ekleyecegim tarih databaste'te yer alan tarihler arasında yer almıyorsa yada çakışmıyorsa eklemem gerek. Yani databaste sadece 1 tarih aralıgı olacak birden fazla aynı tarih aralıgı olmayacak.
Sadece sorgu gerekli diğer if else kullanmıyorum true or false döndürüyorum funcitionun içinde. Bu şekilde bir sorgu oluştursam yeterli.
between ilede denedim tabiki ama işin içinden çıkamadım...

halletim between tek başına yetmiyor and ile bir ekleme daha yapmam gerekti.