у меня есть значение как mysql 2018-05-03 11:02:00 я хочу передать это в моем где условия с помощью php - PullRequest
0 голосов
/ 03 мая 2018

В моей таблице «время» данные присутствуют на 2018-05-03 11:02:00 этой даты. Поэтому я хочу получить данные, передав эту дату-время.

Вот мой код:

$query1=$this->db->query("SELECT sum(count) As total, sum(status) As 
is_completed FROM `tasks` WHERE `staff_id` = '$datas[$i]' AND `time` > 
DATE_SUB(CURDATE(), INTERVAL 1 HOUR)");

Этот код не показывает результатов, но в этот день есть данные. как могу ли я передать эту дату и время как условие

Ответы [ 2 ]

0 голосов
/ 03 мая 2018

Изменить CUR_DATE() на NOW()

$query1=$this->db->query("SELECT sum(count) As total, sum(status) As is_completed FROM `tasks` WHERE `staff_id` = '$datas[$i]' AND `time` > DATE_SUB(NOW(), INTERVAL 1 HOUR)");
0 голосов
/ 03 мая 2018

CURDATE() возвращает только дату. Поэтому, когда вы делаете DATE_SUB(CURDATE(), INTERVAL 1 HOUR), вы возвращаете эквивалент 23: 00: 00 Вчера

Кажется, для того, что вы пытаетесь сделать, было бы лучше использовать NOW().

Вы можете попробовать следующий запрос:

SELECT sum(count) AS total, sum(status) AS is_completed
  FROM `tasks` WHERE `staff_id` = '$datas[$i]'
  AND `time` > DATE_SUB(NOW(), INTERVAL 1 HOUR)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...