Rezervasyon Sistemi Kontrol Yapısı
Merhaba arkadaşlar, bir rezervasyon sistemi üzerinde çalışıyorum ve takıldığım bir bölüm var.:( Mantığı ve kontrol yapısının nasıl olacağı ile ilgili bir kafa karaşıklığım söz konusu bu konuda yardımcı olabilirseniz mutlu olurum.
üzerinde çalıştığım rezervasyon sistemi için bir kafeyi örnek alabiliriz. 5 nolu masaya ayını gün içinde farklı saatler için rezervasyon kaydı oluşturuyorum. Rezervasyon kayını oluştururken ve kaydı oluşturduktan sonra şu konrolleriyapmak istiyorum...
-rezervasyon kaydı oluştururken :
• rezervasyon tablosunu kontrol et.
• 5 nolu masanın aynı gün rezervasyonu var mı?
• kayıt yoksa kayıt oluştur.
• kayıt varsa var olan kaydın zamanını al ve yeni oluşturulacak kayıt ile karşılaştır.
• aradaki fark en az 120 dakika ise kaydı oluştur. değilse kaydı oluşturma...
-kayıt oluşturduktan sonra :
• masaları çek.
• rezervasyon tablosuna bağlan ve tüm masaları listeler
• döngü içerisindeki masaları kontrol et.
• rezervasyon kaydı varsa şuanki zaman ile karşılaştır
• rezervasyon zamanına 120 dakikadan az bir zaman varsa masa adı yanına rezervasyon ibaresini ekle
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (6)
kapalı kalması gereken zamanı 60607 -> 7 saat gibi düşün bu şekilde kapalı tutabilirsin ama bunu tutarken
rezerv in iptal edilmesi durumunuda göz önünde bulundur rezerv askıya alınır onaylanmamış olur vb gibi ihtiamller
eğer rezerv aktif ise
aktif zaman edilen zaman > kapalıkalması gereken zaman
işlem yok
değilse
işleme açık
söylede bakabilrsin fikir verir
$rezervyapıldı = time(); zaman damgası ile de düşünebilirsin tabi bu işlemleri
$kapali zaman = (60607);
arkadaşlar aslında sorumda belirttiğim tüm adımları hali hazırda yaptım fakat zamanla ilgili bir sorun yaşıyorum.
örneğin 5 nolu masaya 17.00 ve 20.00 saatleri için iki farklı rezervasyon yapılmış. saat 15.00 itibariyle yani 17.00daki rezervasyon zamanına 2 saat kala masanın 15.00 - 22.00 arası yeni rezervasyon alınmasına kapatmak istiyorum.
sizden kod değil manıklı bir kontrol yapsını nasıl oluşturabilirim bunu için destek bekliyorum.
koşul atayacaksın yani mantık kurmanın tarafı koşul
if (masa varmi)
işlemler
elseif(rezavasyon varmi)
işlermler
elseif(rezevasyon varsa taraihini işle)
işlemler
en son
else
bütün koşullar oldu ise
işlemler
veya buna benzer farklı bir çatı
tabi fonksiyon kullanırsan biraz daha kolay yaparsın qplot un fonskiyonuda es geçme derim.
function farkbul($tarih1,$tarih2,$isaret)
{
list($g1,$a1,$y1) = explode($isaret,$tarih1);
list($g2,$a2,$y2) = explode($isaret,$tarih2);
$tms1 = mktime(0,0,0,$a1,$g1,$y1);
$tms2 = mktime(0,0,0,$a2,$g2,$y2);
if($tms1>$tms2)
{
$fark = $tms1-$tms2;
}
elseif($tms2>$tms1)
{
$fark = $tms2-$tms1;
}
elseif($tms1==$tms2)
{
$fark = 0;
}
return round($fark/86400);
}
//KULLANIMI
$tarih = "2020.12.25";
$bugun = date("d.m.Y");
$kackalmis = farkbul($tarih,$bugun,'.');
echo $kackalmis;
bunun ile isteğine ulaşabilirsin
engin haklı sanki herşeyi bizden istiyorsun gıbı olmus sorun