Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
MySQL. Как реализовать выборку за предыдущий день, месяц |

20.12.2007, 06:29
|
|
Познающий
Регистрация: 26.05.2007
Сообщений: 63
Провел на форуме: 550386
Репутация:
86
|
|
MySQL. Как реализовать выборку за предыдущий день, месяц
Собственно сабж.
Дата в базе формата гггг-мм-дд.
Как сделать выборку за предыдущий день и месяц?
|
|
|

20.12.2007, 06:44
|
|
Постоянный
Регистрация: 29.10.2007
Сообщений: 381
Провел на форуме: 651930
Репутация:
65
|
|
может что то типа этого
PHP код:
$viborka=date("Y-m-d");
'SELECT *FROM table WHERE date LIKE '$viborka' ';
|
|
|

20.12.2007, 06:47
|
|
Познающий
Регистрация: 26.05.2007
Сообщений: 63
Провел на форуме: 550386
Репутация:
86
|
|
XopoIII, будут выводиться результаты с текущей датой
|
|
|

20.12.2007, 06:48
|
|
Постоянный
Регистрация: 20.01.2007
Сообщений: 787
Провел на форуме: 2924346
Репутация:
1719
|
|
угу, только разбить на три переменных типа int и потом передавать строку, которая будет включать в себя 3 эти переменные.
int - чтобы мат. операции совершать, типа d--; и т.д.
|
|
|

20.12.2007, 07:57
|
|
Участник форума
Регистрация: 31.12.2005
Сообщений: 231
Провел на форуме: 1106266
Репутация:
366
|
|
PHP код:
<?php
echo date('Y-m-d',time()-60*60*24),"\n";//вчара
echo date('Y-m-d',time()-60*60*24*7);//неделю назад
?>
|
|
|

20.12.2007, 09:58
|
|
Флудер
Регистрация: 20.11.2006
Сообщений: 3,316
Провел на форуме: 16641028
Репутация:
2371
|
|
Воспользуйся функцией mktime - она корректно обрабатывает отрицательные даты.
PHP код:
<?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)); #Неделю назад
?>
|
|
|

20.12.2007, 10:59
|
|
Познавший АНТИЧАТ
Регистрация: 12.05.2007
Сообщений: 1,235
Провел на форуме: 2238549
Репутация:
1318
|
|
Господи, да какие же вы все извращенцы! Ну нафик задачу, которая решается средствами 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
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|