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

Я относительно новичок, был бы признателен за помощь :)

Я ищу, чтобы найти записи из таблицы mysql, которые были созданы некоторое время между этим моментом и определенной временной отметкой в ​​прошлом. Это время в прошлом сохраняется в переменной (скажем, $ timeinthepast, несколько часов назад или вчера, что угодно). А столбец timecreated в таблице является отметкой времени создания записи.

Будет ли работать следующее? Если нет, то что бы?

Спасибо!

    <?php

        $query = mysql_query("SELECT * FROM table1 
                 WHERE timecreated = DATE_ADD(NOW(), INTERVAL -$timeinthepast)");

    ?>

Я основываюсь на этом: Запрос на выбор записей из базы данных, которые были созданы за последние 24 часа

Ответы [ 2 ]

1 голос
/ 24 декабря 2011

Пока действует $timeinthepast (1 MONTH, 2 HOUR, например) в sql, вы можете попробовать BETWEEN

$query = mysql_query("SELECT * FROM table1 
         WHERE timecreated BETWEEN 
         DATE_SUB(NOW(), INTERVAL $timeinthepast) AND NOW()");
0 голосов
/ 24 декабря 2011

Я считаю, что синтаксис между ними является наиболее дружелюбным для использования. Я не проверял это извините:)

Select * from `table1` where `timecreated` between DATE_SUB(NOW(), INTERVAL  1 month)  and NOW()

Вам нужно будет уделить время в прошлом целой единице некоторого описания.

...