есть в БД поле дата, каким образом можно вычислить что прошло 7, 14, 21, 28 дней относительно текущей даты с учетом перехода годов, для последующей выборки или удалении?
[sql]SELECT * FROM records WHERE UNIX_TIMESTAMP(CURDATE())-UNIX_TIMESTAMP(date) > 0 AND (UNIX_TIMESTAMP(CURDATE())-UNIX_TIMESTAMP(date))%604800 = 0;[/sql] 604800 = 60*60*24*7 - количество секунд в неделе. Если хранить дату не в формате даты, а в формате UNIX_TIMESTAMP и передавать в запрос текущий TIMESTAMP, то запрос будет проще: PHP: <?php $currentTime = time(); $db->query("SELECT * FROM records WHERE $currentTime - `date` > 0 AND ($currentTime - `date`)%604800 = 0");