Sonsuza kadar tekrarlamak tarihleri ​​işlemek nasıl

4 Cevap php

PHP ve MySQL kullanarak bir web sitesinde oldukça basit takvimini uygulayan duyuyorum. Ben sonsuza kadar tekrarlamak ve bunu yapmak için en iyi yolu emin değilim tarihleri ​​idare edebilmek istiyorum.

Olayı tekrarlıyoruz sınırlı bir süre için sadece benim db tabloya ve özyineleme id çeşit grubuna onları içine süre içinde her olay eklemek için mantıklı görünüyor.

Ne sıklıkta olay tekrarlar için hiçbir sınırı yoktur Ama, bu daha iyidir

a) Belirli bir zaman dilimi (örneğin önümüzdeki 2 yıl) için db kayıtları koymak ve daha sonra periyodik olarak kontrol ve zaman geçtikçe yeni kayıt eklemek - Bu ile sorun birinin skoru 3 yıl arıyor, olay kazandı 'olduğunu t göstermek

b) aslında her olay için kayıtları var ama belirli bir süre içinde olay benim php kod kontrol yerine zaman, bir tekrarlanan olay wether hesaplamak değil, bu süre içinde ortaya çıkar - bu ile sorun yok demektir ki ben o olay ile diğer bilgileri (katılım vb) ilişkilendirmek istediğiniz zaman ben bir ağrı olmak görebilirsiniz her olay için özel bir rekor. Biraz yavaş olabilir gibi de görünüyor

Herkes bu yöntemlerden birini çalıştı? Nasıl işe yaramadı eğer öyleyse? Ya da ben kaçırıyorum diğer bazı dahiyane kurnaz yöntem var mıdır?

4 Cevap

Ben yaklaşım b alırdım ve kimse buna bir şey eklerse, ben bir "gerçek" olay girdisini oluşturmak istiyorum.

Edit: How many periodic events do you expect and what kind of periodic events would that be? (eg: every monday, every two weeks etc.)

Ben bir tekrarlanan bir olay için tek bir kayıt yaratacak. Sonra daha fazla bilgi belirli bir tarihe eklenecek olan durumda, ben tekrarlanan olaya bir referans ile eki için bir kayıt yaratacak.

B seçeneğinde için Üçüncü oy - gerekçesi veriler sadece hiç bir sınırlı bir süre (yani başlangıç ​​ve bitiş) için sorgulanan olmasıydı. Performans nedenleriyle ben ilk geçtiği tarih / saat depolama ek olarak, öneririm, ayrıca veritabanında son oluşumu korumak olaylar ve frekans sayısı.

C.

Benim deneyim, yinelenen tarihleri ​​üreten ve özel bir tarih olduğu düzende ise kontrol performans-bilge o kadar da kötü değil. Bir yılda sadece 365 gün var. 10.000 gün zaten neredeyse 30 yıldır. ki anlamına gelir, giriş / çıkış büyüklüğü pratik bir senaryoda nispeten küçüktür.

Bu kütüphane yardımcı olabilir (ama javascript var): http://github.com/mooman/recurring_dates