Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在foreach循环中使用dateTime函数检查设置日期是否大于当前日期_Php_Datetime_If Statement_Pdo - Fatal编程技术网

Php 在foreach循环中使用dateTime函数检查设置日期是否大于当前日期

Php 在foreach循环中使用dateTime函数检查设置日期是否大于当前日期,php,datetime,if-statement,pdo,Php,Datetime,If Statement,Pdo,我正在尝试对数据库中的日期/时间字段使用dateTime函数,以相互检查其是否大于或小于对方 我遇到的问题是,如果我将条件设置为if($date>=$end\u date),那么我只获得要输出的$noEvents,即使有end\u date字段实际上大于$date(当前日期时间)。如果我将条件更改为if($date=$end\u date) 我只得到$noEvents 如果条件是:If($date),那么这就是此处的相关代码 $end_date = $event_row['end_date'];

我正在尝试对数据库中的日期/时间字段使用dateTime函数,以相互检查其是否大于或小于对方

我遇到的问题是,如果我将条件设置为
if($date>=$end\u date)
,那么我只获得要输出的
$noEvents
,即使有
end\u date
字段实际上大于
$date
(当前日期时间)。如果我将条件更改为
if($date=$end\u date)

我只得到
$noEvents


如果条件是:
If($date),那么这就是此处的相关代码

$end_date = $event_row['end_date'];
$date = new DateTime("now");
if ($date <= $end_date) { }

谢谢,这就成功了。你知道为什么我的if-isset会在条件输出else时输出变量吗?@Paul原因不清楚,但我发现作为一个测试,
isset
无论如何都很笨拙。我会在循环之前设置
$noEvents=NULL;
,然后尝试
if($noEvents)
我尝试了您为$noEvents变量给出的建议,但它仍然显示出来。我将这一点置于循环之外,以便该变量不会多次输出。
if ($event_stmt = $con->prepare($sql_events)) {
        $event_stmt->execute();
        $event_rows = $event_stmt->fetchAll(PDO::FETCH_ASSOC);
        $noEvents = NULL;
        foreach ($event_rows as $event_row) {
            $event_name = $event_row['event_name'];
            $display_date = $event_row['display_date'];
            $event_description = $event_row['description'];
            //$end_date = $event_row['end_date'];
            $end_date = new DateTime($event_row['end_date']);
            $date = new DateTime('now');
            //$active_events = count($event_name);
            //var_dump($active_events);
            //if ($active_events === 0) {
            if ($date <= $end_date) {
                $noEvents = 'No events are scheduled yet.';
            } else {
                echo '<div class="eventBlock">';
                echo '<span class="hGc">'. $display_date .'</span>';
                echo '<a href="#" class="hLink">'. $event_name .'</a>';
                echo '<p class="dG margBot40">'. $event_description .'</p>';
                echo '</div>';
            }
        }
        if ($noEvents) {
            echo $noEvents;
        }
$end_date = $event_row['end_date'];
$date = new DateTime("now");
if ($date <= $end_date) { }
$end_date = new DateTime($event_row['end_date']);