|
|
|
| У меня создана таблица (user) в ней три поля "id" первичный ключ int, "date" и "status". В "date" я установил по разному дату, будущую например 2009 т.д. и прошлую например 2007 и т.д. а в "status" всем полям, я их создал несколько, поместил "on".
Не получается реализовать скрипт, который будет запускаться по cron, он должен проверить в таблице (user) все поля date и если в одной из них дата (она такого формата например "2008-04-18 01:15:12" ) больше чем сегодняшняя и больше чем час,минута,секунда. То заменить поля "status" на "off".
Спасибо заранее с уважением! | |
|
|
|
|
|
|
|
для: AlexDIXI
(18.04.2008 в 02:24)
| | Ребята кому сложно или не хочется понимать что я написал ранее. Я перефразирую свой вопрос. Благо мне это очень важно.
Какой функцией я могу проверить в БД все поля "date", без передаваемых id и других параметров. Если поля "date" больше или равна текущей дате, то сделать изменения в поле "status". И так всем полям до окончания.. | |
|
|
|
|
|
|
|
для: AlexDIXI
(18.04.2008 в 09:57)
| |
UPDATE table SET `status` = 'off' WHERE `date` < now( )
|
| |
|
|
|
|
|
|
|
для: olejek
(18.04.2008 в 11:11)
| | Спасибо огромное.
>
UPDATE table SET `status` = 'off' WHERE `date` < now( )
|
Но я вот не пойму, почему не сработал мой код.
require_once ('config.php');
$date_now = date('Y-m-d H:i:s');
$result = mysql_query ("UPDATE user SET status='OFF' WHERE `date` < $date_now ",$db);
if($result == true)
{
echo "OK";
}
else
{
echo "BAD";
}
|
И как я уже понял, что функция now( ), является текущей датой? Но как же она определила что я ввел дату в базу именно с годами, месяцами, днями, часами, минутами, секундами? А вдруг бы я ее ввел только год, или например только месяц ну и на конец я мог просто ввести время.
Извиняюсь за сумбур.. | |
|
|
|
|
|
|
|
для: olejek
(18.04.2008 в 11:11)
| | Как добавить сюда, чтоб он не обновлял статус, если статус уже off? Это уменьшит нагрузку и пожалуй так будет правильно.
UPDATE table SET `status` = 'off' WHERE `date` < now( )
|
| |
|
|
|
|
|
|
|
для: AlexDIXI
(18.04.2008 в 09:57)
| | Вы можете сравнивать даты при помощи логических операторов, как обычные числовые значения. Даже можете вычитать и складывать даты с временными интервалами при помощи конструкции INTERVAL. | |
|
|
|