現在、カレンダー アプリで毎日または毎週の繰り返しイベントを許可しています (fullCalendar を使用)。
私のビューには、2 つのドロップダウンを有効にするチェックボックスがあります。1 つは繰り返し間隔 (毎日、毎週) 用で、もう 1 つは頻度 (1 回、2 回など) 用です。
$evt_interval_options = array( //this will be $row->interval in the model
'86400' => 'Daily',
'604800' => 'Weekly';
$evt_frequency_options = array( //this will be //$i in the model
'1' => '2',
'2' => '3',
<?php echo form_checkbox('evt_repeat', 'FALSE', FALSE, 'class="repeat_checkbox"');
echo form_dropdown('evt_interval', $evt_interval_options');
echo form_dropdown('evt_frequency', $evt_frequency_options'); ?>
これは最終的に私のモデルに到達し、イベントを繰り返す必要があるかどうかを確認するループを実行します。繰り返す場合は、間隔 ( $row->interval
) と頻度 ( $i
) を考慮に入れます。
$cal_data[] = array(
'start' => strtotime($row->date_1 . ' ' . $row->time_1) + ($i ? ($row->interval * $i) : 0),
);
これは、データベース内の単一のレコード エントリに基づいて、毎日または毎週の複数のイベントを表示するのにうまく機能します。
問題は月次と年次です。これらの秒数は可変であるため、
03/01/2011 00:00:00 --> 04/01/2011 00:00:00 ===> 2674800 seconds
04/01/2011 00:00:00 --> 05/01/2011 00:00:00 ===> 2592000 seconds
and so on for monthly and yearly differences
では、この問題を解決するにはどうすればよいですか? たとえば、月次を繰り返す必要があること、または年次を繰り返すstrtotime
必要があることを正確に示すのに役立つ関数またはコマンドはありますか?4th
July 4th
PHP 5.2.14 を使用しています。