【发布时间】:2015-07-25 20:13:04
【问题描述】:
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说,两者都有整数。
但是为什么大于>(或者小于
【问题讨论】:
-
所以脚本回显
minutes而不是minute还是什么? -
91 不大于 100,因此不会进入
if分支。你应该得到“91分钟”。一旦数据库中的值大于 100(例如 240),您就会得到“240 分钟”。我真的不知道这背后的逻辑是什么...... -
@u_mulder 是的,完全正确。如果我看到对“大于”的任何反应,则整数 1 应输出“分钟”,所有其他整数应输出分钟。
-
@GolezTrol 我的数据库中有很多输出。有些大于 100,有些小于 100。但输出只是“分钟”。为什么?
-
你确定?您给出的示例是 91,我不知道为什么较大的值不会导致“分钟”。然而,逻辑似乎有缺陷。在我看来
$qdint > $zahl应该是$qdint != 1。