我似乎無法弄清楚我要去哪裏錯了。這是我有:爲什麼不是這樣從7天內提取數據?
$query = ("SELECT * FROM contacts WHERE agentassigned = 'agent' AND reminder ='$reminder date("Y-m-d",strtotime("+7 day"))' ORDER BY firstname") or die ('Error: ' .mysql_error());
我似乎無法弄清楚我要去哪裏錯了。這是我有:爲什麼不是這樣從7天內提取數據?
$query = ("SELECT * FROM contacts WHERE agentassigned = 'agent' AND reminder ='$reminder date("Y-m-d",strtotime("+7 day"))' ORDER BY firstname") or die ('Error: ' .mysql_error());
MySQL不會執行你送了它在查詢的PHP代碼。
這可能不是你想要做的。相反,連接date()
調用的結果。
$query = "SELECT * FROM contacts WHERE agentassigned = 'agent' AND reminder ='$reminder " . date("Y-m-d",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("Y-m-d",strtotime("+7 day"));
$query = ("SELECT * FROM contacts WHERE agentassigned = 'agent' AND reminder ='$reminder $date' ORDER BY firstname") or die ('Error: ' .mysql_error());
提醒中的日期是2011-07-29,它仍然沒有顯示出使用該代碼...? – joshua76
從現在起3天后,不是7天后,除非你是時間旅行者:) –
因此,我在做什麼錯我的代碼,我想顯示在未來7天到期的所有提醒? – joshua76