Главная > MySQL, PHP > php+mysql: выборка записей за прошлый месяц

php+mysql: выборка записей за прошлый месяц

$ddty=date("Y");
$ddtm=date("m");
if ($ddtm=='1') {
	$ddtf=($ddty-1)."-12";
}
else {
	$ddtmt=$ddtm-1;
	if ($ddtmt<10) {
		$ddtmt='0'.$ddtmt;
	}
	$ddtf=($ddty)."-".$ddtmt;
}
$q=mysql_query("SELECT * FROM table WHERE date LIKE '".$ddtf."%'");
Categories: MySQL, PHP Tags: ,
  1. vadim
    10 декабря,2015 в 12:35 | #1

    @VolCh
    Да только нет таких функций: ‘first day of previous month’ и ‘last day of previous month’. Их еще вычислить надо. Как их вычислить?

  2. VolCh
    4 апреля,2011 в 16:42 | #2

    @qqq
    Тоже вариант, только кэшироваться запрос не будет.

  3. VolCh
    4 апреля,2011 в 08:30 | #3

    Какой ужас!!!

    $from_date = date(«Y-m-d», strtotime(‘first day of previous month’)) . » 00:00:00″;
    $to_date = date(«Y-m-d», strtotime(‘last day of previous month’)) . » 23:59:59″;

    $query = «SELECT * FROM table WHERE date BETWEEN ($from_date, $to_date)»

    date, как правило, лучше проиндексировать

  4. qqq
    31 марта,2011 в 23:29 | #4

    $q=mysql_query(«select * from table
    where date > LAST_DAY(DATE_SUB(CURDATE(), INTERVAL 2 MONTH))
    AND date < DATE_ADD(LAST_DAY(CURDATE() — INTERVAL 1 MONTH), INTERVAL 1 DAY)");

Похожие публикации