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;或等于==)的反应?
答案 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
也许我以后会用到它。
由于