почему это не тянет данные с 7 дней назад?

Я не могу понять, где я ошибаюсь. Это то, что у меня есть:

$query = ("SELECT * FROM contacts WHERE agentassigned = 'agent' AND reminder ='$reminder date("Ymd",strtotime("+7 day"))' ORDER BY firstname") or die ('Error: ' .mysql_error()); 

Solutions Collecting From Web of "почему это не тянет данные с 7 дней назад?"

MySQL не будет выполнять код PHP, который вы отправили в запросе.

Вероятно, это не то, что вы хотели сделать. Вместо этого соедините результат вызова date() .

 $query = "SELECT * FROM contacts WHERE agentassigned = 'agent' AND reminder ='$reminder " . date("Ymd",strtotime("+7 day")) . "' ORDER BY firstname"; 

Основываясь на ваших комментариях, вы действительно хотите что-то вроде этого:

 SELECT * FROM contacts WHERE agentassigned = 'agent' AND reminder_date BETWEEN CURRENT_DATE AND CURRENT_DATE + INTERVAL 7 DAY 

Если вам нужно добавить столбец reminder_date в свою таблицу, который содержит дату напоминания. Вы не хотите пытаться разбирать его из строки, как вы делаете. Это медленно и неправильно.

Вы не можете интерполировать вызов функции внутри строки с двойными кавычками. Вместо этого сначала вызовите функцию и сохраните результат в $date :

 $date = date("Ymd",strtotime("+7 day")); $query = ("SELECT * FROM contacts WHERE agentassigned = 'agent' AND reminder ='$reminder $date' ORDER BY firstname") or die ('Error: ' .mysql_error()); 

Потому что ваш запрос выглядит 7 дней в будущем. Попробуйте «-7 день» вместо «+7 дня».