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 に答える