根据变量值更改表td颜色

时间:2019-03-26 14:33:12

标签: php html css

我正在尝试根据statusID更改表中td元素的颜色。状态可以是零或一。我想将td的状态为零显示为红色,如果状态为1则显示为绿色。我的代码不起作用。我正在将设备状态更改为变量$ statusDevice。任何建议都欢迎。

$colors = [ '#FF0000',' #008000'];

$conn= mysqli_connect( $dbhost, $dbuser, $dbpass, $db ) or die("Could not connect: " .mysqli_error($conn) );
$sql = "SELECT Name FROM parameter WHERE Device='A'";
if($result = mysqli_query($conn, $sql)){
  if(mysqli_num_rows($result) > 0){

    echo '<table>';

    while($row = mysqli_fetch_array($result)){

      $bgColor= $colors[$statusDevice];
      echo $bgColor;
      //echo $colors[0];

      echo '<tr><th>Status of Device</th>';

      echo '<td bgcolor= $bgColor); >' . $row['A']. '</td></tr>';

      echo $bgColor;

    }echo "</table>";
  }

3 个答案:

答案 0 :(得分:1)

使用双引号"而非单引号'来解释字符串中的变量。

更改此行

  echo '<td bgcolor= $bgColor); >' . $row['A']. '</td></tr>';

对此:

  echo "<td bgcolor= $bgColor; >" . $row['A']. '</td></tr>';

我认为您的代码中有一个括号(我已修复)

除了弃用bgcolor之外,您还应该使用style像这样:

  echo "<td style='background-color: $bgColor;'>" . $row['A']. '</td></tr>';

答案 1 :(得分:0)

您需要使用字符串来修饰变量:

echo '<td bgcolor= '.$bgColor.'>' . $row['A']. '</td></tr>';

或使用“代替”

答案 2 :(得分:0)

仅供参考,bgcolor已过时,只需使用此

echo '<td style= "background-color:'.$bgColor.';" >' . $row['A']. '</td></tr>'

代替