在特定日期之后自动停用

时间:2012-07-30 00:18:35

标签: php sql

我想成为一名广告经理。当广告到达其到期日时,它将变为非活动状态。但是当我尝试制作并试用它时,即使没有达到有效期,所有广告都会变为非活跃状态。

这是我的代码:

$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());    
  }
}

1 个答案:

答案 0 :(得分: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值反映出来并将其粘贴到转换器中,请查看它的内容。