

Вычисления по расписанию (или через CRON)
#1
Отправлено 05 Февраль 2013 - 17:54
Код вычисления:
if ($line['Статус брони']=="Забронирован" and $line['Забронировано до']<date ("Y-m-d 00:00:00")) $line['Статус брони'] = "Просроченная бронь";
www.intertransservice.ru - ИТС-МАН - Официальный дилер MAN Truck and Bus
www.its-daf.ru - ИТС-ДАФ - Официальный дилер DAF Trucks
www.its-hino.ru - ИТС-Хино - Официальный дилер Hino Motors
www.its-kamaz.ru - ИТС-Камаз - Официальный дилер ПАО КамАЗ
www.trp-parts.ru - Интернет-магазин запасных частей для грузовых авто
#2
Отправлено 05 Февраль 2013 - 18:31
#3
Отправлено 05 Февраль 2013 - 18:40
www.intertransservice.ru - ИТС-МАН - Официальный дилер MAN Truck and Bus
www.its-daf.ru - ИТС-ДАФ - Официальный дилер DAF Trucks
www.its-hino.ru - ИТС-Хино - Официальный дилер Hino Motors
www.its-kamaz.ru - ИТС-Камаз - Официальный дилер ПАО КамАЗ
www.trp-parts.ru - Интернет-магазин запасных частей для грузовых авто
#4
Отправлено 05 Февраль 2013 - 18:43
#5
Отправлено 05 Февраль 2013 - 19:20
www.intertransservice.ru - ИТС-МАН - Официальный дилер MAN Truck and Bus
www.its-daf.ru - ИТС-ДАФ - Официальный дилер DAF Trucks
www.its-hino.ru - ИТС-Хино - Официальный дилер Hino Motors
www.its-kamaz.ru - ИТС-Камаз - Официальный дилер ПАО КамАЗ
www.trp-parts.ru - Интернет-магазин запасных частей для грузовых авто
#6
Отправлено 06 Февраль 2013 - 09:11
#7
Отправлено 06 Февраль 2013 - 10:40
Вычисление:
$data = data_table("Автомобили DAF","id=121");
$dat = date("Y-m-d 00:00:00");
if ($data['Статус брони']=="Забронирован" and $data['Забронировано до']<$dat);
$data['Статус брони'] = "Просроченная бронь";
Лог Крона:
2013-02-06 11:35:36 - OneTime -
ID таблицы автомобили DAF = 121
www.intertransservice.ru - ИТС-МАН - Официальный дилер MAN Truck and Bus
www.its-daf.ru - ИТС-ДАФ - Официальный дилер DAF Trucks
www.its-hino.ru - ИТС-Хино - Официальный дилер Hino Motors
www.its-kamaz.ru - ИТС-Камаз - Официальный дилер ПАО КамАЗ
www.trp-parts.ru - Интернет-магазин запасных частей для грузовых авто
#8
Отправлено 06 Февраль 2013 - 10:55
$data = data_table("Автомобили DAF","id=121");
id=121 - сюда указывается ID таблицы? или ID записи из таблицы? Если второе, то как прописать для всех строк таблицы?
www.intertransservice.ru - ИТС-МАН - Официальный дилер MAN Truck and Bus
www.its-daf.ru - ИТС-ДАФ - Официальный дилер DAF Trucks
www.its-hino.ru - ИТС-Хино - Официальный дилер Hino Motors
www.its-kamaz.ru - ИТС-Камаз - Официальный дилер ПАО КамАЗ
www.trp-parts.ru - Интернет-магазин запасных частей для грузовых авто
#9
Отправлено 06 Февраль 2013 - 10:56
#10
Отправлено 06 Февраль 2013 - 11:06
Цитата
ID записи, разумеется. Вообще, вторым аргументом функции идет условие запроса, в данном случае у вас это "id=121", где id - имя служебного поля id (ид записи), 121 - значение id.
Цитата
Если для всех, то условие пустое. Но такого практически не бывает, как правило задается хотя бы отбор по активным записям (т.е. не архив и не корзина): "status=0". Но если вам нужен проход по нескольким записям, то придется добавлять цикл:
$lines = data_table("Автомобили DAF", "status=0", "all"); // параметр all говорит, что нам нужна не только первая запись из набора, а все foreach ($lines as $data) // цикл по набору записей { $dat = date("Y-m-d 00:00:00"); if ($data['Статус брони']=="Забронирован" and $data['Забронировано до']<$dat); $data['Статус брони'] = "Просроченная бронь"; update_query ($data, "Автомобили DAF", "id=".$data['ID']); // запрос на обновление текущей в наборе записи }
#11
Отправлено 06 Февраль 2013 - 11:30
Сообщение отредактировал ber: 06 Февраль 2013 - 11:41
www.intertransservice.ru - ИТС-МАН - Официальный дилер MAN Truck and Bus
www.its-daf.ru - ИТС-ДАФ - Официальный дилер DAF Trucks
www.its-hino.ru - ИТС-Хино - Официальный дилер Hino Motors
www.its-kamaz.ru - ИТС-Камаз - Официальный дилер ПАО КамАЗ
www.trp-parts.ru - Интернет-магазин запасных частей для грузовых авто
#12
Отправлено 07 Февраль 2013 - 14:34
Текст условия:
$lines = data_table("Автомобили DAF", "status=0", "all"); // параметр all говорит, что нам нужна не только первая запись из набора, а все foreach ($lines as $data) // цикл по набору записей { $dat = date("Y-m-d 00:00:00"); if ($data['Статус брони']=="Забронирован" and $data['Забронировано до']<$dat); $data['Статус брони'] = "Просроченная бронь"; update_query ($data, "Автомобили DAF", "id=".$data['ID']); // запрос на обновление текущей в наборе записи }
Лог смены статусов:
Свободен - Просроченная бронь | 2013-02-07 15:30:36 | Cron
Как видно из условия, статус Свободен Крон вообще не должен трогать, в чём ошибка условия? он применяет сценарий ко всем записям без проверки выполнения условия
Сообщение отредактировал ber: 07 Февраль 2013 - 14:39
www.intertransservice.ru - ИТС-МАН - Официальный дилер MAN Truck and Bus
www.its-daf.ru - ИТС-ДАФ - Официальный дилер DAF Trucks
www.its-hino.ru - ИТС-Хино - Официальный дилер Hino Motors
www.its-kamaz.ru - ИТС-Камаз - Официальный дилер ПАО КамАЗ
www.trp-parts.ru - Интернет-магазин запасных частей для грузовых авто
#13
Отправлено 07 Февраль 2013 - 15:07
ber (07 Февраль 2013 - 14:34) писал:
if ($data['Статус брони']=="Забронирован" and $data['Забронировано до']<$dat);
Творческая группа "ТАВР".
www.TAVR.pro Художественная ковка, металлоконструкции.
www.СтолМет.рф Складные столы, стулья и системы для их хранения
#14
Отправлено 07 Февраль 2013 - 15:37
andibrag (07 Февраль 2013 - 15:07) писал:
спасибо, и правда, ошибочка
www.intertransservice.ru - ИТС-МАН - Официальный дилер MAN Truck and Bus
www.its-daf.ru - ИТС-ДАФ - Официальный дилер DAF Trucks
www.its-hino.ru - ИТС-Хино - Официальный дилер Hino Motors
www.its-kamaz.ru - ИТС-Камаз - Официальный дилер ПАО КамАЗ
www.trp-parts.ru - Интернет-магазин запасных частей для грузовых авто
Количество пользователей, читающих эту тему: 4
0 пользователей, 4 гостей, 0 анонимных