öncelikle (git: 52953)
ben bu projeme bi de ek olarak tarih seçme fonksiyonu ekliyim dedim güzel bir takvim uygulaması da buldum,tarihi seçip ekrana yazdırıyorum ama ben bu tarihi db deki datetime ile bir türlü karşılaştıramıyorum,sql kodum şu şekilde

$sql="select * from oabs_flights where dept = '".$_GET['kalkis']."' And dest like '".$_GET['varis']."' and datetime like '".$_GET[date]"'";

ama galiba bunun araması farklı şekilde oluyor saati girmeden günlere göre bulmasını istiyorum ben uçuşları; datetime da tarih ve saat var,ben bunun benzerini bul diyemez miyim,
ayrıca ek bilgi:türü timestamp öznitelik olarak on update currenttimestamp var.

bunu da yardımlarınızla halledersem çok şık olacak gerçekten.

 

dev.mysql.com

nooneatall

bir de ipucu, bir kolonda YYYYMMDD seklinde number bir tarih tutmak, guzel bir seydir..

nooneatall

datetime ın yanına bir tane daha mı kolon ekliyim yani,çünkü seferler için saati de tutmak zorundayım

gaza gelen

evet, ben oyle oneririm.. function'larla da halledebilirsin varolan kolon uzerinden, ama indexleme ve diger bazi seyler icin, numerik bir date iyi bir cozumdur. bunun gibi karsilastirmalarda da (az da olsa) bir performans avantaji vardir.

nooneatall

YYYYMMDD de olabilir ama bence int olarak da tutabilirsin.
mktime() ile secilen tarihi unix time'a cevirip(istedigin birimleri. yil ay gun saat ve dakika mesela. istersen saniyeyi de katarsin i$in icine) veritabaninda ona gore arama yaparsin.

like yerine misal

WHERE '".$_GET[date]."' = $time_limit
WHERE '".$_GET[date]."' > $time_limit
WHERE '".$_GET[date]."' < $time_limit

$eklinde sorgular yazabilirsin. $time_limit'in de misal querystring'den aldigin tarihten 1gun oncesi ve tarihin 1gun sonrasi olur.

$time_limit = $_GET['date'] +(ya da -) 86400; gibi. (alinan tarihe 1gun ekler/cikarir)

umarim anlatabilmi$imdir.

sourlemonade

@assert h
hocam valla anladım demek istediğini de timestamp li kayıtın kodunu yazdım çalıştırabildim şöyle ki.

$sql="select * from oabs_flights where DATE_FORMAT(datetime, '%Y-%m-%d') = '".$_GET[date]."'";

bunla seçilen tarihteki uçuşları alıyorum ama velakin bu seferde kalkış varış çalışmıyor :D

$sql="select * from oabs_flights where dept = '".$_GET['kalkis']."' And dest like '".$_GET['varis']."' and DATE_FORMAT(datetime, '%Y-%m-%d') = '".$_GET[date]."'";

bu kod çalışmıyor işte,kalkış varışı list/menü ile yolluyorum ama gitmiyor mudur nedir?
beynim sulandı zaten
hatam nedir sence hocam

gaza gelen

AND ile ekledigin son ko$ulda sikinti var gibi duruyor.

and DATE_FORMAT(datetime, '%Y-%m-%d') = '".$_GET[date]."'";

e peki bu $_GET[date] degeri veritabaninda neye kar$ilik gelmeli? bu yok.

sourlemonade
1

mobil görünümden çık