我希望将日期延长到第二天,如果日期小于今天的日期。
这就是我所拥有的。
$today = $date = date('y/d/m h:i:s a', time());
$query_moline = "SELECT * FROM penny WHERE `active`='Y' ORDER BY `sdate` ASC LIMIT 13";
$moline = mysql_query($query_moline) or die(mysql_error());
$row_moline = mysql_fetch_assoc($moline);
$totalRows_moline = mysql_num_rows($moline);
?>
<table width="98%"><tr><td>Title</td><td><?php echo $today ?></td><td>Fee</td></tr>
<? if($totalRows_moline>0)
{ ?>
<?php do { ?>
<?php
$id=$row_moline['id'];
$title=$row_moline['title'];
$sdate=$row_moline['sdate'];
$fee=$row_moline['fee'];
if($sdate<$today){
$sdate=$today;
$strsql="UPDATE `penny` SET `sdate`=\"$sdate\" WHERE `id`=\"$id\"";
//echo $strsql."<BR>";
mysql_query($strsql,$connect) or die(mysql_error());
}
在这里我被卡住了,如果$sdate<$today
那么我需要$sdate
明天约会,但与$sdate
同时
例如,如果$ sdate = 2011/4/12 14:00:00 那么我需要新的日期是2011/5/12 14:00:00
答案 0 :(得分:7)
你应该尝试(如果我理解你需要的话)
UPDATE penny SET sdate = DATE_ADD($sdate, INTERVAL 1 DAY)
答案 1 :(得分:0)
如果你需要通过php调整它,你可以使用strtotime
将mysql datetime字段转换为int(虽然Marco的建议将是更少的工作,更清晰的代码和各种善良)
$row_time = strtotime( $row_moline['sdate'] );
并以秒为单位添加时间
$row_time += 86400
或再次使用strtotime
$row_time_tomorrow = strtotime( '+1 day', $row_time )
保存回数据库时,您可以使用FROM_UNIXTIME
转换查询,例如
"UPDATE `whatever` set `date` = FROM_UNIXTIME( $row_time_tomorrow ) WHERE id = 9001"