PHP 如果大于(条件)则不起作用?

标签 php mysql if-statement

首先,我有一个名为 trade_field 的表

+-----------+----------------+------------------+--------------+
| UID       | durabletime    | productionQTY    | timestamp    |
+-----------+----------------+------------------+--------------+
| 88        | 1234           | 6.00             |1444400000    |
----------------------------------------------------------------

然后我查询mysql并像这样分配:

$queryCopper = mysql_query("SELECT * FROM trade_field WHERE uid = ".$uid." AND fid = ".$fid."");

while($row = mysql_fetch_row($queryCopper)) {
    $idCopper[] = $row['id'];
    $timenow = time();
    $durabletime = $row['durabletime'];
    $Copperpdt = $row['production'];
    $CopperQTY = number_format(($timenow - $row['timestamp']) / 60 * $Copperpdt);

    if ($CopperQTY > $durabletime || ($CopperQTY > 1000 && $durabletime < 1000)) {
        $CopperQTY = $durabletime;
    } elseif($CopperQTY > 1000 && $durabletime > 1000) {
        $CopperQTY = 1000;
    } elseif($CopperQTY < 1000 && $CopperQTY < $durabletime) {
        $CopperQTY = number_format(($timenow - $row['timestamp']) / 60 * $Copperpdt);
    } else {
        echo "Error";
    };

    $user_list_Copper[] = $row;
}

现在我们设置timenow = 1444450000,因此$CopperQTY = 5000 (因为 number_format(($1444450000 - 1444400000)/60 * 6.00);)

杰拉纳尔条件是:

if $CopperQTY > $durabletime
    then $durabletime = $CopperQTY

之后,

if ($CopperQTY < 1000 && $CopperQTY > $durabletime)
    then $durabletime = $CopperQTY

之后,

if $durabletime > $CopperQTY
    then $CopperQTY = $CopperQTY

之后,

if ($durabletime > $CopperQTY && $CopperQTY > 1000)
    then $CopperQTY = 1000

但是当我运行上面的代码时,系统显示$CopperQTY = 5000

最佳答案

根据您所说的条件,您的 if-else-if-else 语句应如下所示:

if ($CopperQTY > $durabletime) {

    $durabletime = $CopperQTY

} else if ($CopperQTY < 1000 && $CopperQTY > $durabletime) {

    $durabletime = $CopperQTY

} else if ($durabletime > $CopperQTY) {

    $CopperQTY = $CopperQTY

} else if ($durabletime > $CopperQTY && $CopperQTY > 1000) {

    $CopperQTY = 1000

} else {
    echo "Error";
}

由于 $CopperQTY = 5000$durabletime = 1234,因此 $durabletime 将等于 5000 并且 if 语句将中断。

关于PHP 如果大于(条件)则不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33073401/

相关文章:

php - 改善服务器响应时间

mysql - 如何拆分字符串然后将其与填充 id 的关系进行比较?

Mysql触发器在插入之前删除数据

python - 如果条件表达式不起作用

sql-server - SQL 中的 IF 条件表达式评估

php - 在 PHP session 中存储用户密码是否常见?

php - Zend Framework 2 中的路由

php - 向数据库提交 NULL - 单引号问题?

mysql - SQL 数计数

php - str_replace(或 preg_replace?)接受并保留重音字符和大写字母