Запрос на выбор записей из базы данных, которые были созданы за последние 24 часа - PullRequest
0 голосов
/ 19 мая 2011

Мне интересно, как сделать запрос к базе данных, чтобы показать результаты, которые были представлены за последние 24 часа.

В таблице topics у меня настроен столбец с именем start_date, которыйиспользует временные метки.Как мне запросить базу данных, чтобы найти темы, созданные за последние 24 часа?

По сути, я хочу сделать что-то подобное, но не знаю, как использовать WHERE:

 $query = mysql_query("SELECT * FROM topics WHERE start_date = 'LAST 24 HOURS?'");

Спасибо:)

Ответы [ 3 ]

1 голос
/ 19 мая 2011

Вы можете попробовать что-то вроде этого;

$query = mysql_query("SELECT * FROM topics WHERE start_date = DATE_ADD(NOW(), INTERVAL -1 DAY)");

Отредактировано: математика NOW() - 60*60*24 была неправильной. Сожалею.

0 голосов
/ 19 мая 2011

... где start_date> @date

и ваша дата должна быть упомянута ко времени за 1 день до сегодняшнего дня ...

Запрос Джимми тоже будет работать хорошо!

0 голосов
/ 19 мая 2011

Попробуйте это:

$query = mysql_query("SELECT * FROM topics WHERE start_date >= ".time() - 24 * 3600);

Это запрашивает у вашей базы данных все темы с отметкой времени даты начала, которая больше или равна отметке времени 24 часа назад. Обратите внимание, что вы также можете использовать столбец DATETIME с небольшим изменением:

$query = mysql_query("SELECT * FROM topics WHERE start_date >= '".date("Y-m-d H:i:s", time() - 24 * 3600)."'");
...