, Ello
Burada PHP / MySQL bazı tarih sıkıntılar ile mücadele ediyorum. Ben yıllık, aylık, üç aylık bir ödeme tekrarını sunan bir form var, ya da haftalık haftalık-bi ve ödendikçe izlemek gerekiyor.
Bir şey Pazartesi 8 Mart eklendi eğer Yani, örneğin, Perşembe Haftalık tekrarlayan, (o girilen ediliyor date) (kullanıcı sadece haftanın günlerini sunan açılan görecekti - nüks haftalık olduğu gibi), o-cekti db içine 52 (haftalık) bitiş tarihlerini (Jülyen / ne olursa olsun kolay olan) girin ve (o gün geçmiş olduğundan) ödenen Bunlardan ilk 9 işaretlemek; Gerisi girdi ama ödenmemiş işaretlenmiş.
Ben ödeme ayrıntılı bir bağlantı ve / ödenmeyen ödenen bir Boole alanı, her DUE_DATE girişi olurdu bir tablo var.
Yani yukarıdaki örnekte, ödemeler tablo gibi görünecektir:
id | pmnt_id | due_date | is_paid
1 | 0023 | 01/07/10 | 1
2 | 0023 | 01/14/10 | 1
3 | 0023 | 01/21/10 | 1
10 | 0023 | 03/25/10 | 0
11 | 0023 | 04/01/10 | 0
vs ..
Sorun iyi, her şey olduğunu. Takvim sistemi yani bunu yapmak için hiçbir gerçek mantıksal / basit bir yolu var görünüyor ki, yukarı effed edilir. Ben, benim beyin bozucu her sabah goggle ve php tarih manuel arama, ve ben sadece daha karıştı alıyorum oldum.
Herhangi bir fikir / öneri / işaretçiler büyük takdir.
Şerefe.
[Snip]
$startDate = strtotime("$currentDay $currentMonthFull $currentYear");
$stTimeFormatted = strftime('%d/%m/%Y',$startDate);
$numPmnts = ($totalWeeks-$currentWeek);
for($i=0;$i<$numPmnts;$i++){
$ddates=array(
'sched_pay_id'=>$pmntID,
'due_date'=>date('m/d/y', strtotime('+'.$i.' week', $startDate)),
'is_paid'=>0,
);
$this->db->insert('sched_payments',$ddates);
}