0

我想根据变量的条件将变量的颜色设置为红色或绿色,如果它分别大于和小于 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>";  
4

3 回答 3

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。

于 2013-08-18T09:38:11.657 回答
0

你需要使用echo

 if($profitandloss<$zero){
      echo "<div style=\"color: red;\">$profitandloss</div>";
  } elseif ($profitandloss>$zero)
      echo "<div style=\"color: green;\">$profitandloss</div>";
  }
于 2013-08-18T09:38:53.630 回答
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> (...)';
于 2013-08-18T09:39:51.430 回答