0

我编写了一个代码,其中一个值是从 mysql 获取的,如果它是 1,那么行应该是红色,如果它是 0,那么行应该是绿色。当我执行代码时,它总是转到 else 语句。

代码如下:

while ($row = mysqli_fetch_array($result))
{
    $bprofit=$row['profit_loss'];
    if ($bprofit == "1") {
        $colour='#FF0000';
    } else  {
        $colour='#31B404';
    }
    echo "<tr bgcolor=$colour>";
    echo "<td>" . $bprofit . "</td>";
}

输出是:

1
0 0 全部为绿色。

有什么建议么?

4

5 回答 5

2

您在 $bpprofit 中有一个额外的 p:

if ($bprofit == "1")
于 2013-02-07T09:18:40.160 回答
1

在这种情况下,使用var_dump()函数并查看变量实际包含的内容以及您需要如何访问它永远不会受到伤害。

于 2013-02-07T09:24:49.193 回答
1

更改if ($bpprofit == "1")if ($bprofit == "1")

于 2013-02-07T09:18:18.290 回答
1

除了其他答案中提到的拼写错误外,我认为您需要像这样引用数组的第一个索引:

if ($bprofit[0] == "1") ...

编辑

根据您的新代码,您确定返回的值是字符串而不是数字吗?如果它是数字,你会希望你的if语句看起来像这样:

if ($bprofit == 1) ...

于 2013-02-07T09:20:47.257 回答
0

遇到上述问题时,请尝试在 PHP 中激活错误报告。一种方法是更新 php.ini,但由于这可能会影响您不想报告错误的其他项目,因此在需要时激活它可能会更好。

重要的是您启用通知报告,因为当您使用尚未设置的变量时它们会出现。

下面的代码是一个简单的例子:

<?php error_reporting(E_ALL);

if ($undefined == 1) {
    // do stuff
}

显示此页面时,将显示一条通知:

注意:未定义变量:第 3 行 /var/www/test/undefined_example.php 中未定义

当然,这可能不是解决所有问题的合适解决方案,但它可能会帮助您弄清楚在哪里寻找。

它也可能使您成为更好的程序员;通过“提醒”您使用标准值声明变量,如果它们在以后使用之前并不总是被分配。

于 2013-02-07T09:58:53.517 回答