2011-05-20 34 views
0

下面的代码应该根据if($row["datesubmitted"] > $livetime){启动CSS。如果“日期提交”小于1小时,CSS应该生效。但它不起作用。基于时间的IF声明不起作用

任何想法为什么不呢?

为了便于比较,相同的代码适用于IF语句if($row["topten"] == 1){

编辑:在MySQL,datesubmitted是类型=时间戳和默认= CURRENT_TIMESTAMP。

由于提前,

约翰

$livetime = time()-3600; 


$result = mysql_query($sqlStr); 

$arr = array(); 
echo "<table class=\"samplesrec\">"; 
while ($row = mysql_fetch_array($result)) { 
    $dt = new DateTime($row["datesubmitted"], $tzFrom); 
    $dt->setTimezone($tzTo); 

    if($row["datesubmitted"] > $livetime){ 
+0

是它可能比较'DateTime'对象与纯时间戳? – ThiefMaster 2011-05-20 23:49:05

+0

也许提供给我们一个完整的代码片段,以便我们确定我们正在调试什么?你能提供代码直到while循环的结尾吗? – 2011-05-20 23:49:14

+0

是'dateubmitted'的值是一个unix时间戳吗? – RobertPitt 2011-05-20 23:49:28

回答

0

也许你可以尝试使用的strtotime,这样的..

if(strtotime($row["datesubmitted"]) > $livetime)

它会因为你的$行[ “datesubmitted”]的工作是从MySQL datetime格式..

0

使用UNIX_TIMESTAMP(datesubmitted) as datesubmitted在您的查询,相对于其他时间戳时使用该值是(作为一个时间戳)。