[英]Change background color for 4 results using php
使用PHP,我想更改TD的背景顏色,具體取決於其中的數字。 我知道這可以通過使用CSS來完成,只需將一個類添加到具有所需顏色的每個td中即可。 但是我希望這對我來說很簡單!
有沒有一種使用php的方法,我可以將數字從0更改為一個,並且在顯示時會自動更改背景顏色。
<table>
<tbody>
<tr><td>0</td></tr>
<tr><td>1</td></tr>
<tr><td>2</td></tr>
<tr><td>3</td></tr>
</tbody>
</table>
我認為代碼將讀取類似以下內容的內容,但我不知道如何編寫代碼。
if something equals 1 echo <td style="background:#f0f571;">1</td>
else if something equals 2 echo <td style="background: #ffc30f;">2</td>
else if something equals 3 echo <td style="background: #ff0000;">3</td>
else echo <td style="background: #498237;">0</td>
然后只需執行以下操作,然后我就可以將數字更改為0、1,2或3
<?php echo $something = 1;?>
着色絕對應該在CSS中完成,而不是在php中完成。 內聯樣式(幾乎)總是一個壞主意,因為您將樣式和標記混在一起。
我們了解您對可維護性的關注,因此建議您執行以下操作:
您現在在哪里做這樣的事情(我想):
echo "<tr><td>$myValue</td></tr>";
您可以輕松地執行以下操作:
echo "<tr><td data-content='$myValue'>$myValue</td></tr>";
在CSS中,您可以像這樣針對這些單元格:
td[data-content="1"] { color: red; }
td[data-content="2"] { color: green; }
假設所有這些都是在服務器端生成的,則可以創建一個支持函數,如下所示:
function getBackgroundHex($v)
{
$hex = '#498237'; // Default
switch ($v) {
case 1:
$hex = '#f0f571';
break;
case 2:
$hex = '#ffc30f';
break;
case 3:
$hex = '#ff0000';
break;
}
return $hex;
}
以及呈現HTML的位置:
<table>
<tbody>
<?php foreach ($value as $v) { ?>
<tr><td style="background: <?php getBackgroundHex($v); ?>"><?php echo $v; ?></td></tr>
<?php } ?>
</tbody>
</table>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.