使用PHP和MySQL,并想使用SELECT语句哪个date_post(datetime变量)从上个月的最后一天开始,到下个月的第一天为止,请帮助我。
提前谢谢你。

my database: 'id', 'content', 'image', 'date_post',

等等,我试着用
$today = getdate();
$thisyear=$today['year'];
$thismon=$today['mon'];
$date_start=$thisyear.'-'.$thismon.'-01';
$date_end=$thisyear.'-'.($thismon+1).'-01';
$sql="SELECT *, DATE_FORMAT(date_post, '%d-%m-%Y') AS datepost
      FROM my_table
      WHERE date_post BETWEEN date('$date_start')
        AND date('$date_end')
      ORDER BY date_post DESC";

最佳答案

它在MySQL中只使用一个查询,而不使用任何PHP:

SELECT * FROM `table_name`
WHERE DATE(`date_post`) >= DATE_FORMAT(CURDATE() - INTERVAL 1 MONTH, CONCAT('%Y-%m-', DAY(LAST_DAY(CURDATE() - INTERVAL 1 MONTH))))
AND DATE(`date_post`) <= DATE_FORMAT(CURDATE() + INTERVAL 1 MONTH, '%Y-%m-01');

10-08 17:25