MYSQL的Timestampdiff没有使用PHP,如果/ else大于>

时间:2015-07-25 20:13:04

标签: php mysql timestamp

Timestampdiff

的以下Mysql SELECT部分
$result_all = mysql_query("SELECT *, TIMESTAMPDIFF(MINUTE,aktualisiert,NOW()) AS quote_diff FROM sms WHERE gesendet ='1' AND DATE_FORMAT( aktualisiert,  '%Y' ) = '2015' AND trash ='0' ORDER BY aktualisiert DESC");

似乎无法使用 if else PHP代码

<?php
$qd = $row['quote_diff'];
$qdint = intval($qd);
$zahl = intval(100);

echo $qdint;

if ( $qdint > $zahl) {echo " minutes"; }
else { echo " minute"; }

var_dump($qdint); //int(91)
var_dump($zahl); //int(100)
?>

同样 var_dump 表示,有两个整数。

但为什么没有大于&gt; (或小于&lt;或等于==)的反应?

1 个答案:

答案 0 :(得分:0)

找到一个没有Timestampdiff的工作解决方案:

$result_all = mysql_query("SELECT * FROM sms WHERE gesendet ='1' AND DATE_FORMAT( aktualisiert,  '%Y' ) = '2015' AND trash ='0' ORDER BY aktualisiert DESC");

(因为已知问题dev.mysql.com...12.7...user comment from April 9 2004

<?php  $now = time();
       $lastLogin = strtotime($row['aktualisiert']);
       $diff = $now - $lastLogin;
       $now = date('YmdHis',$now);

       $diffecho = idate('i',$diff);

       if($diff > 59 && $diff < 119) { // 3600 seconds is 1 hour
       echo $diffecho." minute ago"; }
       else { echo $diffecho." minutes ago"; }
?>

如果您不想要前导零,请使用PHP函数 i 日期。

在developphp.com上还有另一种很酷的方式: Convert MySQL Timestamp to Ago Time Format OOP Tutorial

也许我以后会用到它。

由于