Подскажите, пожалуйста, где ошибка:
if ($line['Дата след.действия'] <= curtime() - interval 1 minute and $line['Дата след.действия'] != '0000-00-00 00:00:00' and $line['Выполнено'] == 'Нет')
{$line['Выполнено'] = 'Просрочено';}
else
{;}
Смысл здесь таков: есть поле "Выполнено" со значениями Да, Нет и Просрочено и поле Дата след. действия. Если Через 1 минуту после того как наступило это время (даты след. действия), поле "Выполнено" не поменялось на "Да", нужно присваивать значение "Просрочено".
Выходит след. ошибка:
1: if ($line['f2791'] <= curtime() - interval 1 minute and $line['f2791'] != '0000-00-00 00:00:00' and $line['f2491'] == 'Нет')
2: {$line['f2491'] = 'Просрочено';}
syntax error, unexpected T_LNUMBER
Ошибка в вычислении
Автор TelecomMedia, 16 апр. 2014 12:24
Сообщений в теме: 3
#1
Отправлено 16 Апрель 2014 - 12:24
#2
Отправлено 16 Апрель 2014 - 14:08
Во-первых, еще раз повторюсь: конструкция else {;} никакой нагрузки не несет (хотя и ошибки тоже), но лучше не засорять код ей. Просто не вставляйте ее в код.
Во-вторых, ошибка в том что вы зачем-то вставили код на языке SQL в код на языке PHP. Это абсолютно два разных языка. Естественно что у вас вылезла синтаксическая ошибка. Советую почитать документацию по PHP, чтобы хотя бы примерно понимать почему так делать нельзя.
Судя по коду, вы хотели отнять 1 минуту из текущей даты, но взяли для этого фрагмент из кода условия фильтров, хотя там, как уже сказано, применяется язык SQL. Для операций с датами внутри вычислений используете примеры из темы Операции с датами.
Во-вторых, ошибка в том что вы зачем-то вставили код на языке SQL в код на языке PHP. Это абсолютно два разных языка. Естественно что у вас вылезла синтаксическая ошибка. Советую почитать документацию по PHP, чтобы хотя бы примерно понимать почему так делать нельзя.
Судя по коду, вы хотели отнять 1 минуту из текущей даты, но взяли для этого фрагмент из кода условия фильтров, хотя там, как уже сказано, применяется язык SQL. Для операций с датами внутри вычислений используете примеры из темы Операции с датами.
#3
Отправлено 16 Апрель 2014 - 15:37
Подскажите, пожалуйста, как будет выглядеть мое вычисление на PHP?
Из приведенного примера, к сожалению, ничего не понятно.
Заранее спасибо
Из приведенного примера, к сожалению, ничего не понятно.
Заранее спасибо
Сообщение отредактировал fabrika-r: 16 Апрель 2014 - 15:37
#4
Отправлено 16 Апрель 2014 - 15:57
Вот же пример. Заменяете там присвоение на сравнение, strtotime($line['Дата']) (время из поля) на time() (текущее время) и дни на минуту. В итоге получаем:
Целиком:
$line['Дата след.действия'] <= date("Y-m-d H:s:i", time() - 60)
Целиком:
if ($line['Дата след.действия'] <= date("Y-m-d H:s:i", time() - 60) and $line['Дата след.действия'] != '0000-00-00 00:00:00' and $line['Выполнено'] == 'Нет')
{
$line['Выполнено'] = 'Просрочено';
}
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных













