Merhabalar,
Resimde göründüğü gibi günü geçen rezervasyon saatleri otomatik kapanıyor ancak günlük kapanıyor. Saat 12:00 daki rezervasyon saati geçince kapanması gerek. Yardımcı olurmusunuz ?
https://i.hizliresim.com/jQoXVj.png
Rezervasyon formu saatlik kontrol
7
●273
- 19-12-2017, 12:03:35Kimlik doğrulama veya yönetimden onay bekliyor.Yardımcı olabilecek birileri elbette var, sen sorunu zahmet edip detaylı yazarsan, biri de çıkar sana yardımcı olur.By_MiCRoP adlı üyeden alıntı: mesajı görüntüle
Tamam ben sana yardımcı olayım ama nasıl olayım ?
Sorduğun sorudan hiç bişey anlamadım, bi resim eklemişsin ama hangi tarih ve saate göre o resimi yorumlayacağız.
Yazmış olduğun kodu inceleyeyim diyeceğim ama ortada kod falan yok.
Velhasıl, sen biraz zahmet etmezsen bizler nasıl yardımcı olacağız sana ? - 19-12-2017, 12:50:56Hocam bugün canınız çok sıkkın galiba, mesajıma tepkiniz çok iyi. Haklısınız detaylı bilgi vermedim ama ilk mesaj da kendimce açıklayıcı gördüm.coder16 adlı üyeden alıntı: mesajı görüntüle
Sorunun detaylı anlatmak istersek; rezervasyon formu öğlen saat 12'den gece 02'ye kadar rezervasyon alıyor. Ancak şöyle durum söz konusu saat gece 12 olduğunda yeni bir güne geçtiğimiz de otomatik geçmiş gün oluyor ve kapatıyor. Gece:01 ve 02 saatleride arada kapanmış oluyor. Ayrıca başka bir husus ise şuanki saatimiz akşam 19:00 olduğunu varsayalım, öğlen 12'den akşam 19'a kadar olan saatler hâlâ açık ve rezervasyon alınabiliyor. Bu durumu ortadan kaldırmak istiyorum.
Teşekkürler. - 19-12-2017, 13:13:18Canım sıkkın değil güzel kardeşim, sana yardımcı olalım diyorum ama yardım edebileceğim birşey göremiyorum.By_MiCRoP adlı üyeden alıntı: mesajı görüntüle
Kod yazmadığına göre demek ki bizden mantık yönünden cevap bekliyorsun.
Varsayım üzerine gidersek, gece saat 24:00 den sonra yeni güne geçtiğine göre geçmiş zamana rezervasyon alamaman çok normal, doğrusu da bu zaten.
Diğer sorun saat 19:00 olmasına rağmen 12-19 arası rezervasyon alınabiliyorsa burada yazmış olduğun kodun hatalı olduğunu düşünüyorum, PHP de tarih karşılaştırmasında string ve date() fonksiyonu istediğin sonucu almamana sebep olur. Veritabanındaki tarih ile şuandaki tarih karşılaştırılmalarında strtotime() veya mktime() kullanmalısın.
$tarih = "2017-12-19 19:00:00"; // string türünde veri $simdiki_zaman = date('Y-m-d H:i:s'); // date() türünde veri $tarih = strtotime($tarih); $simdiki_zaman = strtotime($simdiki_zaman); if($tarih > $simdiki_zaman) { // rezervasyon alınabilir } else { // rezervasyon alınamaz. } - 19-12-2017, 14:02:24coder16 adlı üyeden alıntı: mesajı görüntüle
<? $kacinci = getdate(); $kacinci = $kacinci["wday"]; if ($kacinci == 0){ $kacinci = 7; } if ($i != 1){ $kacinci = $kacinci - 1; $tarih = date("Y-m-d"); $tarih = date("Y-m-d", strtotime("-$kacinci days", strtotime($tarih))); } else { $tarih = date("Y-m-d"); } $araliklar = array("12:00","13:00","14:00","15:00","16:00","17:00","18:00","19:00","20:00","21:00","22:00","23:00","00:00","01:00","02:00"); foreach ($araliklar as $a){ echo '<tr>'; for ($i=0; $i<7; $i++){ $t = date("Y-m-d", strtotime("+$i days", strtotime($tarih))); $sql = $db ->query("SELECT * FROM randevular WHERE tarih = '{$t}' and saat = '$a'"); if ($t < date("Y-m-d")){ echo '<td class="dolu" id="'.$t.' '.$a.'">Geçmiş<br>'.$a.'</td>'; } else { $sql = $db ->query("SELECT * FROM randevular WHERE tarih = '{$t}' and saat = '$a'"); if ($sql->rowCount() == 0){ echo '<td class="uygun" id="'.$t.' '.$a.'">Uygun<br>'.$a.'</td>'; } else { echo '<td class="degil" id="'.$t.' '.$a.'">Dolu<br>'.$a.'</td>'; } } } echo '</tr>'; } ?>Php kodum yukarıda yalnız yapamadım gerekli düzenlemeleri yapınca bu gün bugunu de geçmiş olarak görüyor.
Merhabalar,
Sorunu çözemedim yardımcı olabilecek var mı ?