2013-04-11 275 views
4

如果值爲1,則單元格bg爲綠色,單元格中爲#1 如果值爲0,則單元格bg爲黃色,其中爲0。if,else if echo語句

我想顯示「是」,而不是「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。

有沒有更容易/更好的方法來實現這一目標?

+0

if($ row ['play'] == 1){ echo「是」; } else if($ row ['play'] == 0){ echo「 No」; } – hd1 2013-04-11 14:50:52

+2

'bgcolor'屬性已被棄用,請改用CSS。順便說一句,這個問題怎麼會得到提升! – moonwave99 2013-04-11 14:52:18

回答

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; 
} 
+1

+1我相信它比'if else'樹更有效率。 – christopher 2013-04-11 14:51:38

+0

太棒了!謝謝:) – bech64 2013-04-11 15:15:32

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 ......等等。

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>"; 
+0

如果你這樣做,你也可以在數組中保留'green'和'yellow',然後刪除if。 – h2ooooooo 2013-04-11 14:54:04

+0

當然,我也在回答。 – vikingmaster 2013-04-11 14:56:07

0

嘗試這個

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

這樣的事情會做到這一點 -

echo "<td bgcolor='" . $row['play'] == 1 ? "green" : "yellow" . "'> . $row['play'] == 1 ? "No" : "Yes" . "</td>"; 
0

您可以通過削減回聲聲明這樣做:

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>";