[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите исправить ошибку в скрипте
dkorableff
На сайте фитнес-центра в админ-панели есть функция скопировать последнюю неделю.
Данная функция работает не корректно

1. неделя копируется не с понедельника по воскресенье, а с воскресенья по субботу.

2. копия расписания берется с воскресенья текущей недели и по субботу следующей.
Т.е. если расписание заполнено на текущую неделю допустим с 08.09.14 по 14.09.14, то скопируется только воскресенье.
А если расписание заполнено с воскресенья текущей недели по субботу следующей с 14.09.14 по 20.09.14, то расписание скопируется на след неделю т.е. с воскресенья 21.09.14 по субботу 27.09.14.

Сдвиг нужно сделать назад на 6 дней

код функции:

public function actionCopy()
{
$affected = 0;
$select = Aquilon::Db()->select("schedule_entry", "*")->where("type_id = ?", $this->type_id);
$select->where("WEEK(beginning) = ?", date("W"));
$select->order("id desc");



$insert = Aquilon::Db()->insert("schedule_entry");
foreach($select->execQuery()->fetchAll() as $row)
{
$row["id"] = null;
$row["updated"] = null;
$row["created"] = Aquilon::Db()->formatDatetime();
$beginning = Aquilon::Db()->parseDatetime($row["beginning"]);
$beginning = strtotime("+1 week", $beginning);
$row["beginning"] = Aquilon::Db()->formatDatetime($beginning);
$insert->load($row);
$insert->execQuery();
$affected++;
}
Aquilon::Db()->commit();

$this->message("Скопировано {$affected} записей");

$this->redirectAction('index');
}


Структура таблицы schedule_entry

id
program_id
coach_id
type_id
hall_id
beginning
commercial
hidden
created
updated


Как исправить данную функцию?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.