如何将PHP If语句与SQL日期和当前日期进行比较?

如何将PHP If语句与SQL日期和当前日期进行比较?,php,mysql,Php,Mysql,在我的SQL数据库中,我有一个日期列。 如果DB中的日期等于todays日期,我想使用PHP if语句来显示一些文本。 除此之外,如果日期不等于今天,请使用else来显示其他内容 运行PHP7 我已经记不清我用这个做了什么尝试,但似乎没有取得任何进展 我在这里获取数据: $sql1 = 'SELECT `date` FROM `operations`.`opsroom` ORDER BY `opsroom`.`date` ASC, `opsroom`.`starttime` ASC LI

在我的SQL数据库中,我有一个日期列。 如果DB中的日期等于todays日期,我想使用PHP if语句来显示一些文本。 除此之外,如果日期不等于今天,请使用else来显示其他内容

运行PHP7

我已经记不清我用这个做了什么尝试,但似乎没有取得任何进展

我在这里获取数据:

    $sql1 = 'SELECT `date` FROM `operations`.`opsroom` ORDER BY `opsroom`.`date` ASC, `opsroom`.`starttime` ASC LIMIT 1';
    $nextsession = mysqli_query($conn, $sql1);
在文件的后面部分,我将使用以下内容:

    <?php
    while ($row = mysqli_fetch_assoc($nextsession)) 
    {
    if( $row['date'] == DATE(date)){
    echo "BOOKINGS TODAY";
    } else {
    echo "No Bookings";
    }
    }
    ?>


目前唯一的错误是PHP警告:使用未定义的常量日期-假定的“日期”(这将在未来的PHP版本中引发错误)

使用PHP的适当
date
函数:

如果要比较今天的日期,请尝试以下操作:

<?php
while ($row = mysqli_fetch_assoc($nextsession)) 
{
 // this one you need to change
 if( $row['date'] == date('Y-m-d')){
    echo "BOOKINGS TODAY";
 } else {
    echo "No Bookings";
 }
}
?>

您使用的是日期(Date),其中日期充当格式化程序,但情况并非如此

根据db表的日期列的日期格式,您必须使用:

日期(“Y/m/d”)或 日期(“Y.m.d”)或 日期(“Y-m-d”)

例如如果表格中的日期具有格式(Y/m/d),则if语句应为:

if( $row['date'] == date(Y/m/d){
    echo "BOOKINGS TODAY";
}

在php中使用适当的日期函数。它的日期不是日期。复查代码

while ($row = mysqli_fetch_assoc($nextsession)) 
{
    if( date('Y-m-d',strtotime($row['date'])) == date('Y-m-d')){
        echo "BOOKINGS TODAY";
    } else {
        echo "No Bookings";
    }
}

它是
date
而不是
date
——这就是为什么小写更好的做法。
date(date)
调用函数(函数名忽略大小写),格式字符串为
“date”
(从裸常量
date
转换而来,因此出现警告),这是毫无意义的。对于初学者来说,
$row['date']
..的确切值是多少?
date(date)
-您希望与哪个日期进行比较?如果您试图将数据库中的日期与今天的日期进行比较,您可能只需要
$row['date']==date('Y-m-d')
…修改查询以仅检索与日期匹配的数据可能更容易、更清晰。为什么要获取比您需要的更多的数据?这很有效,谢谢!你知道我如何在日期和时间上做类似的事情吗。在$nextsession中有date、starttime和endtime列。所以我需要弄清楚,如果日期是今天,开始时间大于当前时间,小于结束时间,如何让它显示一些内容?@StevenRothera这将帮助您: