Bilmek istediğin her şeye ulaş

PHP ile döngü içinde mysql kullanmadan rezervasyon takvimi nasıl yapılır?

Veritabanına başlangıç ve bitiş tarihleri girilerek oluşturulan doluluk zaman aralığını sayfada göstermek için, (Örneğin: 1 Ocak 2012 'den 31 Aralık 2012'ye kadar tüm günleri kontrol edip durumuna göre renklerle ekrana bastırmak) döngü içinde mysql kullanmadan nasıl bir yol izlenebilir? Örnek için : e1209.hizliresim.com/11/3/cljdr.jpg Düzenle
Burada dikkat edilmesi gereken nokta "Change Day" denilen yani giriş çıkış yapılan günlerin dikkatlice işaretlenmesidir. Rezervasyon sistemlerinde, bir yer kiralandığında aynı gün içerisinde çıkış yapılabilir ve bir başkası o gün oraya giriş yapabilir. Dolayısıyla, giriş/çıkış günlerini tamamlanmadığı sürece boş değerlendirmek ve uyarı olarak change day olarak işaretlemek gerekecektir.

Bir diğer önemli nokta ise, rezervasyon yapılırken ekranda göstereceğin takvimde seçilen periyot için kiralama yapan kişiyi en optimum yere yerleştirmektir. Bu da ayrıca bir algoritma konusu, çünkü uygun yere yerleştirme yapılmaz ise, eldeki mevcut kapasite kötü kullanılmış olacaktır ve yerleştirmeler elle değiştirilmek gerekecektir ki bu istenmeyen bir durumdur.

Takvim görünümünü oluşturabilmek için;
PHP bilmediğim için kod yazamayacağım ama mantık olarak şu işlemler olmalıdır:
  1. Mevcut rezervasyonlar ekranda görüntülenen periyot için veritabanından çekilmeli
  2. Bu rezervasyonların başlangıç ve bitiş tarihleri (saatleri ile birlikte) bir algoritma tarafından birleştirilerek full day ve change day'ler belirlenmeli
  3. Takvimde bulunan her gün bir kutudur ve bu kutunun 3 durumu olabilir: boş, dolu, giriş/çıkış günü.
  4. Eldeki tüm bu bilgiler kullanılarak takvimdeki her hücre bu 3 durumdan hangisini içerdiğine göre renklendirilmeli.
Kod olmayınca biraz havada kalıyor ama malesef elimden gelen bu kadar. Umarım faydası olur.
  • Paylaş
2

Turan Karatuğ, Hakan Bey soruyu yayınlayalı uzun bir süre oldu. Bu süre içerisinde aynen sizin anlattığınız şekilde bir algoritma kurup sistemi yazdım. İlginize teşekkürler :)

Hakan Köse, Ya çok uzun zamandır bu soruya yanıt vermek istiyordum kodlarıyla birlikte, ancak kod kısmı biraz zahmetli olduğu için ve C# işinize yaramayacağı için erteliyordum. Bugun kod yazmadan yanıtlamak istedim :)

Daha önce benzer bir işle uğraşmıştım bir vakit o yuzden ilgimi çekti. Herhangi bir sorunuz olursa seve seve yardımcı olmaya çalışırım.

Halletmenize sevindim, başarılar dilerim :)

Xml ile yapman mümkündür. ama çok daha yorucu olacaktır
  • Paylaş
Sonraki Soru
HESAP OLUŞTUR

İstatistikler

1367 Görüntülenme4 Takipçi2 Yanıt

Konu Başlıkları