4

如果值为 1,则单元格 bg 为绿色,单元格中带有 #1 如果值为 0,则单元格 bg 为黄色,其中包含 0。

我想显示“是”而不是“1”和“否”而不是“0”

     if($row['play']  == 1){
        echo "<td bgcolor='green'>" . $row['play'] . "</td>";
        }
     else if ($row['play']  == 0){
        echo "<td bgcolor='yellow'>" . $row['play'] . "</td>";
        }                    

值来自复选框 (1) 和隐藏字段 (0) MySQL 字段为 BOOL。

有没有更简单/更好的方法来实现这一目标?

4

6 回答 6

6

你可以这样做:

 if($row['play']  == 1){
    echo "<td bgcolor='green'>Yes</td>";
    }
 else if ($row['play']  == 0){
    echo "<td bgcolor='yellow'>No</td>";
    }    

但我会说那switch/case件事更舒服:

switch( $row['play'] ) {
   case 1:
       echo "<td bgcolor='green'>Yes</td>";
       break;

   default:
       echo "<td bgcolor='yellow'>No</td>";
       break;
}
于 2013-04-11T14:51:02.313 回答
0

您可以将其转换为 int,然后在它高于零时创建一个条件:

if((int)$row['play'] > 0) {
    echo "<td bgcolor='green'>Yes</td>";
}
else {
    echo "<td bgcolor='yellow'>No</td>";
}

这样,play可以是 1, 2, 3, 4, 5, ..etc。

于 2013-04-11T14:51:39.730 回答
0
$words = array(
 0 => "No",
 1 => "Yes"
) ;

if($row['play']  == 1){
  echo "<td bgcolor='green'>" . $words[(int)$row['play']] . "</td>";
} else if ($row['play']  == 0){
  echo "<td bgcolor='yellow'>" . $words[(int)$row['play']] . "</td>";
} 

甚至更好:

$map = array(
  0 => array("word"=>"No", "color"=>"yellow"),
  0 => array("word"=>"Yes", "color"=>"green"),
) ;

$current = (int) $row['play'] ;
echo "<td bgcolor='{$map[$current]['color']}'>{$map[$current]['word']}</td>";
于 2013-04-11T14:51:41.363 回答
0

试试这个

if($row['play']  == 1)
{
    echo "<td bgcolor='green'>Yes</td>";
}
 else if ($row['play']  == 0)
{
    echo "<td bgcolor='yellow'>No</td>";
}
于 2013-04-11T14:53:12.723 回答
0

这样的事情会做到 -

echo "<td bgcolor='" . $row['play'] == 1 ? "green" : "yellow" . "'> . $row['play'] == 1 ? "No" : "Yes" . "</td>";
于 2013-04-11T14:53:35.637 回答
0

您可以通过执行以下操作来减少 echo 语句:

if($row['play']  == 1){
   $color = 'green';
   $text = 'yes';
}
else
{
   $color = 'red';
   $text = 'no'; 
}
// Assign the color and text values based on the input.

echo "<td bgcolor=$color>$data</td>";
于 2013-04-11T14:54:04.440 回答