在变量中设置颜色

时间:2013-08-18 09:32:58

标签: php sql

我想根据变量的条件将变量的颜色设置为红色或绿色,如果变量分别大于0,则应显示为红色或绿色。但是,回声不允许我这样做,因为利润和损失回显每行没有颜色设置。因为行的其余部分都是从数据库中检索的。所以我还需要回应它。我知道我正在做的方法是错误的。行逐行回显,因此颜色取决于值。那么我如何让每行的颜色工作?

    if($profitandloss<$zero){
         "<div style=\"color: red;\">$profitandloss</div>";
    }
    elseif ($profitandloss>$zero)
         "<div style=\"color: green;\">$profitandloss</div>";
 // }
    // for profit and loss counting
 //

    echo "<tr><td>" . $row['trade_id'] . "</td><td>" . $row['selection'] . "</td><td>" . $row['date'] ."</td><td>" . $row['type'] ."</td><td>" . $row['size'] ."</td><td>" . $row['bidprice'] ."</td><td>" . $row['offerprice'] ."</td><td>" . $row['stoploss'] ."</td><td>" . $row['takeprofit'] ."</td><td>" . $profitandloss  . "</td><td><a href ='delete.php?id=".$row['trade_id']."'>X</a></td></tr>";  

3 个答案:

答案 0 :(得分:1)

你没有回应那里的任何东西。您的PHP脚本充满了错误。你不能以这种方式混合和匹配HTML和PHP。

在执行IF语句时,您需要在字符串内“回显”(或存储在变量中)HTML部分,并将变量连接到它们。这样,页面在呈现为HTML时只显示PHP变量的值

if($profitandloss<$zero){
    $red_div =  "<div style=\"color: red;\">$profitandloss</div>"; // notice echo here
}
elseif ($profitandloss>$zero) { // you had missed this brace?
    $green_div = "<div style=\"color: green;\">$profitandloss</div>"; 
}

然后你需要在正确的表位置输出两个div。

答案 1 :(得分:0)

您需要使用echo

 if($profitandloss<$zero){
      echo "<div style=\"color: red;\">$profitandloss</div>";
  } elseif ($profitandloss>$zero)
      echo "<div style=\"color: green;\">$profitandloss</div>";
  }

答案 2 :(得分:0)

也许这就是你要找的 - 连续插入简单的条件:

echo "<tr style=\"color: ".($profitandloss > $zero ? 'green' : 'red')."\"><td>" . $row['trade_id'] . "</td><td>" . (...)

或者只是将结果保存到变量并在行中使用它:

if($profitandloss<$zero) {
    $profitText = "<div style=\"color: red;\">$profitandloss</div>";
} elseif ($profitandloss>$zero) {
    $profitText = "<div style=\"color: green;\">$profitandloss</div>";
}

在你的行中就像那样:

echo '(...) <td>Profit: '.$profitText.'</td> (...)';