我需要根据当前日期和时间创建显示图像的内容。我有一个SQL表设置,如下所示:
eventid | startdate | enddate | imgfile | status
6 | 2013-04-29 | 2013-05-03 | finals.jpg | active
我需要做的是将开始日期和结束日期与当前日期进行比较,如果当前日期在startdate和enddate之内,则显示imgfile。
我不知道如何解决这个问题,但这就是我的尝试。
//get current date and time
$currentdatetime = strtotime(now);
$formatteddatetime = date("y-m-d", $currentdatetime);
while($row=mysql_fetch_array($getimage))
{
//get variable for startdate
$formattedstartdate = date("y-m-d", $row[startdate]);
$formattedenddate = date("y-m-d", $row[enddate]);
if($formatteddatetime >= $formattedstartdate AND $formatteddatetime <= $formattedenddate AND $row[status] == 'active')
{
echo $row[imgfile];
}
}
?>
现在,它没有在整个while语句中显示任何内容。我至少走在正确的轨道上了吗?
答案 0 :(得分:3)
CURRENT_DATE以“YYYY-MM-DD”格式或YYYYMMDD格式返回当前日期,具体取决于函数中是使用数字还是字符串。 CURDATE()和CURRENT_DATE()是CURRENT_DATE的同义词。
答案 1 :(得分:2)
您应该在SQL查询而不是PHP中执行此操作。例如:
SELECT * FROM table WHERE CURRENT_DATE BETWEEN startdate AND enddate;
CURRENT_DATE()
是一个MySQL函数,它返回当前日期,顾名思义。它是少数具有别名而没有括号的特殊函数之一。