2

我想做一个广告经理。当广告到达其到期日期时,它会变为非活动状态。但是当我尝试制作它并尝试它时,所有的广告都变为非活动状态,即使它们还没有达到到期日期。

这是我的代码:

$query_banner = mysql_query("SELECT * FROM ad_tbl ORDER BY ID DESC LIMIT $from,$max_show") or die(mysql_error());
while($show=mysql_fetch_array($query_banner))
{ 
  $no++;
  if(($no%2)==0)
    $color = '#f2f2f2'; 
  else
    $color = '#f9f9f9';

  $expired_date = $show['expiry_date'];
  $today_date = date("m/d/Y");

  $expired = strtotime($expiry_date);
  $today   = strtotime($today_date);

  if($expired > $today)
  {
    $valid = "yes";
  }
  else
  {
    $valid = "no";
    $query_expired = mysql_query("UPDATE ad_tbl SET status='Non-Active' WHERE expiry_date <= $today") or die(mysql_error());    
  }
}
4

1 回答 1

0

尝试:

  $expiredDateTime = new DateTime($expiry_date);
  $expired = $expiredDateTime->format('U'); 
  $today   = date('U'); // This will default give you timestamp for "now", saving you a step

如果可行,那么我担心您的m/d/y格式可能是问题的根源。要检查您应该回显您的strtotime值并将它们粘贴到转换器中,看看它说什么。

于 2012-10-23T19:42:12.140 回答