PHP / MYSQL получить завтра записи из - PullRequest
0 голосов
/ 10 июня 2018

У меня есть поле varchar, содержащее значение timestamp, я хочу получить записи завтрашнего дня.

Это мой код, который вы видите:

$tomorrow = strtotime("1+ day");
SELECT * FROM tasks WHERE task_accomplish_date > $tomorrow

, но запрос неправильный

спасибо за помощь заранее

Ответы [ 3 ]

0 голосов
/ 10 июня 2018

Должно быть так:

$tomorrow = strtotime("+1 day");

/* this will select all record before tomorrow*/
SELECT * FROM tasks WHERE task_accomplish_date < $tomorrow;

/* this will select all record after tomorrow*/
SELECT * FROM tasks WHERE task_accomplish_date > $tomorrow;

http://php.net/manual/en/function.strtotime.php

0 голосов
/ 10 июня 2018

Вы должны быть в состоянии сделать все это в запросе MySQL

SELECT * 
    FROM `tasks` 
    WHERE DATE(`task_accomplish_date`) = DATE(NOW() + INTERVAL 1 DAY)

, который преобразует ваше task_accomplish_date в значение даты и ищет записи, в которых эта дата равна сегодня + 1 день (завтра).).Это не дает вам записи за 2 дня с сегодняшнего дня или позже, просто завтра.Если вы хотите использовать завтра и все записи после завтрашнего дня, вы должны использовать

SELECT * 
    FROM `tasks` 
    WHERE DATE(`task_accomplish_date`) >= DATE(NOW() + INTERVAL 1 DAY)

. Если вы храните временную метку, они относятся только к части даты временной метки, а не к части времени временной метки.Если вы заботитесь и о временной части, вы можете удалить DATE() с обеих сторон = в пункте WHERE

0 голосов
/ 10 июня 2018
SELECT * FROM tasks WHERE task_accomplish_date >  NOW() + INTERVAL 1 DAY
...