Php 在特定日期后自动禁用
我想做一名广告经理。当广告到达其到期日时,它将变为非活动状态。但当我试着去做,试着去做的时候,所有的广告都变成了非活动的,即使它们还没有到期 这是我的密码:Php 在特定日期后自动禁用,php,sql,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++;
$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());
}
}
尝试:
如果这样做有效,那么我担心您的m/d/y格式可能是问题的根源。要检查是否应将strotime值回显并粘贴到转换器中,请查看其内容。尝试:
如果这样做有效,那么我担心您的m/d/y格式可能是问题的根源。要进行检查,您应该将strotime值回显并粘贴到转换器中,请查看它的说明。strotime返回一个整数值,而MySQL通常以YYYY-mm-dd格式存储日期。提示一下,如果将状态设置为bit,则会更为优化,整数或枚举字段取决于状态数而不是文本字段。好的,谢谢:我会更改它。。。感谢提示:DSRTOTIME返回一个整数值,而MySQL通常以YYYY-mm-dd格式存储日期。只是提示一下,根据状态的数量将状态设置为位、整数或枚举字段比文本字段更为优化。好的,谢谢:我将更改它。。。谢谢你的提示:D
$expiredDateTime = new DateTime($expiry_date);
$expired = $expiredDateTime->format('U');
$today = date('U'); // This will default give you timestamp for "now", saving you a step