v2.5.2
Giriş yap

Saygı değer PT ailesi

serkan
323 defa görüntülendi ve 2 kişi tarafından değerlendirildi

Tarih ve çalışma saatleri
listelenecek ardından randevu
alındıktan sonra seçilen
tarihte seçilen saat aralığı pasif
hale getirilecek ve randevu saati gecince
tekrar aktif hale gelecektir. Sadece nasil bir algoritma kurmamah
kurmam lazim onu istiyorum kod istemiyorum.

Cevap yaz
Cevaplar (4)
h4ckdr0
508 gün önce

Evet, aşağıdaki gibi bir algoritma düşünebilirsiniz:

1- Kullanıcı bir randevu almak istediğinde, sistem bir tarih ve saat seçimi için bir arayüz sağlar.

2- Kullanıcı seçtiği tarih ve saati girdiğinde, sistem bu bilgileri veritabanına kaydeder ve seçilen tarihteki saat aralığını pasif hale getirir.

3- Sistem, randevu saatinin geldiğini anladığında, randevu saatini kontrol eder ve randevu saatini geçmişse, randevuyu "geçerli" olarak işaretler.

4- Sistem, geçerli olarak işaretlenmiş randevuları kontrol eder ve bu randevular için saat aralığını tekrar aktif hale getirir.

Bu şekilde bir algoritma, randevuları daha gelişmiş bir şekilde yönetmenize yardımcı olabilir. Örneğin, randevuların geçerliliğini kontrol ederek, pasif hale getirilen saat aralıklarını daha doğru bir şekilde aktif hale getirebilirsiniz.

serkan
523 gün önce

@gokcin yardimci oldun sağol ama şöyle ki saatleri
gostermek istiyorum select box ta iki
adet tablom var saatler bide
randevular(randevu tarihi buraya dahil)
sorgu atarken saatler birbiriyle eslestiriyorum
join ile bana belli sonuçlar donuyor yani pasiflestirme islemini yapamiyorum

gokcin
523 gün önce

Merhaba,

Sanırım bir randevu sistemi yapmaya çalışıyorsun, Aslında şöyle bir mantık yapabilirsin.
XX firmanın çalışma saatlerini düşün, o saatler arası örnek 30 dk vs artık ne ise, tüm saatleri listele XX bir kişi tarafından o saat alındığını kontrol et, daha sonra o saat dolu ise o saat alanını kapat yada üstünü çzi.
Aşağıda vermiş olduğum örnek, randevu projemde kullanıyorum.

Örnek Resim

Yukarıdaki gibi yaparsan daha sağlam bir mantıkla gidebilirsin, Eğer saatleri listemeden yapmak istiyorsan, kullanıcı seçtiği saatleri randevu aşamasında bunları dolu boş olduğunu sorgulayıp işlemde yaptırabilirsin.

admin
524 gün önce

Merhaba, Etiketden anladigim kadariyla postgres kullaniyorsunuz. Rezervasyon için destegi vardi onu arastirmanizi öneririm.

Yapmanız gereken sadece rezervasyon baslangiç ve bitis saatlerini dbye kaydetmeniz. Tekrar aktif gelmesi gibi bir durum yok. Ancak randevu iptal olursa boyle bir durum olabilir. Randevu saati geçtiyse zaten o saat aralığı rezerve kapalı olur.

tablonuz:

userİd, baslangicTarihSaat, bitisTarihSaat

yeni kayit eklerken kontrol edersiniz o saat araligi dolu mu diye, üst de belirtiğim modül ile sql yazarak kontrol edebiliyorsunuz kolayca.

musait zamanlari ve haftanin gunlerini de ayri tabloda tutup ona göre frontend de bir takvim ve saat araliklarini render edersiniz.