В кроне другие вычисления прекрасно отрабатывают, а это ни в какую.. Может кто подскажет способ спрятать условие в сам запрос и "укоротить код". Спасибо.
// Выбираем из таблицы активные платежи со статусом -В ожидании- и сверяем время - когда добавлены
$result = data_select(330, "`status`=0 and `f5690`=0"); // Поле f5690 - Флаг статуса: 0, 1 или 2 (В ожидании, Оплачен, Не проведён)
while ($row = sql_fetch_assoc($result)) {
// вычисляем время...
$dt = date("d-m-y h:i:s", strtotime($row['add_time']));
$dtt = date("d-m-y h:i:s");
$dt_strok = explode(' ',$dt);
$dt_data = explode('.',$dt_strok[0]);
$dt_time = explode(':',$dt_strok[1]);
$dtt_strok = explode(' ',$dtt);
$dtt_data = explode('.',$dtt_strok[0]);
$dtt_time = explode(':',$dtt_strok[1]);
$timestamp_dt = mktime($dt_time[0],$dt_time[1],$dt_time[2],$dt_data[0],$dt_data[1],$dt_data[2]);
$timestamp_dtt = mktime($dtt_time[0],$dtt_time[1],$dtt_time[2],$dtt_data[0],$dtt_data[1],$dtt_data[2]);
$diff = $timestamp_dtt - $timestamp_dt;
// тут считаем минуты, часы
$secund = $diff / 60;
$minut = $secund / 60;
$chasov = $minut / 60;
// Если прошло уже более 1 часа - перемещаем в архив и ставим статус -Не проведено-
if ($chasov > 1) {
$data = Array();
$data['f5660'] = "Не проведено";
$data['status'] = 1;
data_update(330, EVENTS_ENABLE, $data, "`id`=",$row['id']);
}
}
P.S.: В верхнем примере кода проблема была в запросе data_select - не хватало кавычек у значения поля: `f5690`='0' , а так всё работало.
Но немного повозившись, переписал свой "говнокод" в более приличную конструкцию:
// Выбираем из таблицы активные платежи со статусом -В ожидании- и сверяем время - когда добавлены
$time_later = form_eng_time(date("d.m.Y H:i", time()-3600));
$sqlQuery = "SELECT * FROM ".DATA_TABLE."330 WHERE `status`=0 and `add_time`<'".$time_later."' and `f5690`='0'";
$result = mysql_query($sqlQuery);
while ($row = mysql_fetch_assoc($result)) {
$data = Array();
$data['f5660'] = "Не проведено";
$data['status'] = 1;
data_update(330, EVENTS_ENABLE, $data, "`id`=",$row['id']);
}
Может кому пригодится - спасибо за оперативную помощь))













