如果事件日期小于现在,请显示foo。如果事件日期大于现在,请显示栏

时间:2016-07-08 05:52:06

标签: php if-statement timestamp

我的网站上有一个活动页面,我在标题顶部显示一个活动栏,显示最新活动。我试图弄清楚如何正确地写这个。

如果事件没有发生,我想展示它。如果事件已经发生,我不想展示事件。

CODE:

<?php //SELECT QUERY...
    foreach($events->results() as $e):
$now = "now()";
    if($e->event_date <= $now){?>   
        <h1>Show Event</h1>

<?php } 
    elseif($e->event_date > $now){ ?>
        <h1>DON'T Show Event</h1>
<?php
}
    endforeach;

基本上,如果事件的时间戳小于或等于即将发生的事件,我希望它显示。

如果活动的时间戳大于活动的当前日期和时间,我不希望它显示。

事件的数据库表。 enter image description here

2 个答案:

答案 0 :(得分:4)

now()是mysql函数。在PHP中,我们使用 time() 来获取当前时间戳

用作

$now = time();// get current timestamp

使用strtotime()转换时间戳中的日期,然后用于比较

$now = time();
foreach ($events->results() as $e):
    if (strtotime($e->event_date) >= $now) {// check for greater then equal to
        ?>   
        <h1>Show Event</h1>
        <?php
    } else {
        echo "<h1>DON'T Show Event</h1>";
    }
endforeach;

答案 1 :(得分:1)

你是正确的方向,改变它

<?php //SELECT QUERY...
    foreach($events->results() as $e):
       $now = date("Y-m-d H:i:s");
       if(date("Y-m-d H:i:s", strtotime($e->event_date)) >= $now){   
          echo "<h1>Show Event</h1>";
       }else{
          echo "<h1>DON'T Show Event</h1>";
       }
    endforeach;
  ?>