2012-07-30 5 views
2

광고주 관리자를 만들고 싶습니다. 광고가 만료일에 도달하면 비활성 상태가됩니다. 그러나 그것을 만들려고 시도했을 때 만료 날짜에 도달하지 않아도 모든 광고가 비활성으로 변경됩니다. 그게 내가 당신 m/d/y 형식은 문제의 근본이 될 수 두려워 후 작동하는 경우특정 날짜 이후에 자동으로 비활성화됩니다.

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

:

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

'strtotime()'은 정수 값을 반환하는 반면 MySQL은 일반적으로 날짜를'YYYY-mm-dd' 형식으로 저장합니다. –

+1

팁을 사용하면 텍스트 필드보다 비트, 정수 또는 열거 형 필드 (상태 수에 따라 다름)로 상태가 더 최적화됩니다. –

+0

좋습니다 감사합니다 :) 나는 그것을 바꿀 것입니다 ... 팁 주셔서 감사합니다 : D – messerchainey

답변

0

시도 :

여기 내 코드입니다. 확인하려면 귀하의 strtotime 값을 반향시켜 변환기로 집어 넣으십시오.

관련 문제