При создании события мне нужно установить начало события и конец события в формате даты и времени (0000-00-00 00:00:00
)
Затем у меня есть возможность установить еженедельное повторение этого события до определенной даты (0000-00-00
)
Но я не могу правильно вставлять повторяющиеся события в базу данных. Вот что я имею:
$startDateTime = '2015-04-30 10:30:00';
$endDateTime = '2015-04-30 11:30:00';
$repeatEndDate = '2015-06-01';
$timestamp = strtotime($startDateTime);
$day_of_week = date('l', $timestamp);
$step = 1;
$unit = 'W';
$repeatStart = new DateTime($startDateTime);
$repeatEnd = new DateTime($repeatEndDate);
$repeatStart->modify($day_of_week);
$interval = new DateInterval("P{$step}{$unit}");
$period = new DatePeriod($repeatStart, $interval, $repeatEnd);
foreach ($period as $key => $date ) {
$repeatQuery = 'INSERT INTO event(start,end,status,repeats) VALUES ("'.$startDateTime.'","'.$endDateTime.'","'.$status.'","'.$repeatEndDate.'")';
$repeatResult = mysqli_query($db, $repeatQuery) or die (mysqli_error($db));
}
Когда я делаю print_r($date);
, это выглядит так: никакого фактического времени просто 00:00:00
DateTime Object
(
[date] => 2015-04-30 00:00:00
[timezone_type] => 3
[timezone] => Europe/Berlin
)
Я знаю, что я не могу вставлять такие значения, но я не знаю, как получить правильные значения от объектов. Поэтому в этом примере мне нужно вставить события, которые начинаются в 10:30:00 и заканчиваются в 11:30:00 (события всегда заканчиваются в тот же день) каждый четверг, начиная с 2015-04-30 и заканчивая в 2015-06-01. Как это можно достичь?
Спасибо