v2.5.2
Giriş yap

Rezervasyon Sistemi Kontrol Yapısı

medesan
753 defa görüntülendi

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

Cevap yaz
Cevaplar (6)
aydinkeskin
1429 gün önce

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);

medesan
1429 gün önce

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.

aydinkeskin
1430 gün önce

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.

qplot
1431 gün önce

  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

medesan
1431 gün önce

"Kardeşim" site kurmanı istemedim !!! olayın mantığını anlatmaya çalıştım.

takıldığım kısım zamanı karşılaşltırma bölümü...
bunun için bir önerin varsa paylaşırsan sevinirim.
yoksa gölge etme başka ihsan istemem...

ersiin
1431 gün önce

Kardeşim siteyi de biz kuralım mı :D