我想根据变量的条件将变量的颜色设置为红色或绿色,如果变量分别大于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>";
答案 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> (...)';