[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как сравнить дату с текущим временем?
grisha2013
Нужно сравнить дату из бд с текущим временем и если время отличается менее чем на один час, то сделать некоторое действие.
Сложность заключается в том, что в базе дата хранится в поле TIMESTAMP и на страницу выводится как 2013-08-02 17:33:00.

Как сравнить этих 17:33:00 с текущим временем не беря во внимание дату?
paul85
Покажите SQL запрос. Отличается менее чем на час в текущих сутках?
Valick
SELECT * FROM `tbl_name` WHERE TIME(`col_timestamp`) > CURTIME() - INTERVAL 1 HOUR


_____________
Стимулятор ~yoomoney - 41001303250491
grisha2013
Запрос такого вида. С помощью SELECT выбираю все необходимые поля, среди которых есть last_update с временем последнего обновления данных в базе.
$query_data = "SELECT `login`, `rating`, `equity`, `balance`, `max_draw`,`last_update` FROM `data` WHERE `id`='$id'  ORDER BY `rating` DESC";
$result_data = mysql_query($query_data,$db)or die(mysql_error());

Далее, в цикле выводится обычная html-таблица где в ячейку с временем последнего обновления заносится дата и время взятые из базы.
while($row = mysql_fetch_assoc($result_data))
{
//
//

$lastupdate = $row['last_update'];//тут буду вызывать функцию сравнения времени и выполнять смену стиля ячейки.

$tbl .= "<td>".$lastupdate."</td>\n";
//
//

}

В зависимости от разницы времени в $row['last_update'] с текущим, хочу менять фоновый цвет ячейки таблицы, для подсветки тех ячеек в которых данные недавно обновлены.
Michael
добавь к столбцам:
, UNIX_TIMESTAMP(`last_update`) as `tstamp`

и потом
if ( intval($row['tstamp']) >  (time() - 60*60) ) { ...


_____________
There never was a struggle in the soul of a good man that was not hard
grisha2013
Сделал, спасибо огромное.
Быстрый ответ:

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