Просмотр полной версии : MySQL. Как реализовать выборку за предыдущий день, месяц
Собственно сабж.
Дата в базе формата гггг-мм-дд.
Как сделать выборку за предыдущий день и месяц?
может что то типа этого
$viborka=date("Y-m-d");
'SELECT *FROM table WHERE date LIKE '$viborka' ';
XopoIII, будут выводиться результаты с текущей датой
угу, только разбить на три переменных типа int и потом передавать строку, которая будет включать в себя 3 эти переменные.
int - чтобы мат. операции совершать, типа d--; и т.д.
VampiRUS
20.12.2007, 07:57
<?php
echo date('Y-m-d',time()-60*60*24),"\n";//вчара
echo date('Y-m-d',time()-60*60*24*7);//неделю назад
?>
Воспользуйся функцией mktime - она корректно обрабатывает отрицательные даты.
<?php
echo date("M-d-Y", mktime(0, 0, 0, date("m"), date("d") - 1)); #Вчера
echo date("M-d-Y", mktime(0, 0, 0, date("m"), date("d") - 7)); #Неделю назад
?>
groundhog
20.12.2007, 10:59
Господи, да какие же вы все извращенцы! Ну нафик задачу, которая решается средствами SQL размазывать по коду и пихать в запрос?! Неужели никто не слышал про interval?
select CURRENT_TIMESTAMP - interval 1 day;
select CURRENT_TIMESTAMP - interval 1 month;
Если нужно вычесть более извращённый период, тогда воспользуйтесь функцией DATE_SUB(), если нужно отформатировать полученный результат, воспользуйтесь функцией DATE_FORMAT(). Да и вообще - курите мануалы... Покурите, например, тут:
http://dev.mysql.com/doc/refman/4.1/en/date-and-time-functions.html
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot