我在 PHP 文件中有可行的 mysql 查询。 它在我网站上的表格中的一列中给出了 3 种可能的不同结果。它们是“获胜”、“失败”或“待定”。 我想要进一步实现的是,当这些特定单元格中的 WON 单词处于绿色背景时,当查询结果变为 LOST 时,变为红色背景,当 PENDING 变为灰色时。
通过什么方式来做到这一点? 我是这方面的新手,所以无法在网上找到自己的答案。
这是可行的查询代码:
<?
$qry = "
SELECT timelive,match_title,selection,
CASE
WHEN game.result LIKE '' THEN 'PENDING'
WHEN game.result LIKE game.selection THEN 'WON'
WHEN game.result NOT LIKE game.selection THEN 'LOST'
END AS result
FROM game
";
$searchText = "";
if($_REQUEST['search_text']!=""){
$searchText = mysql_real_escape_string($_REQUEST['search_text']);
$qry .=" WHERE game.timelive LIKE '%$searchText%' " .
" OR game.match_title LIKE '%$searchText%' " .
" OR game.selection LIKE '%$searchText%' " .
" OR game.username LIKE '%$searchText%'";
}
$qry .= " ORDER BY timelive DESC";
$obj = new pagination_class($qry,$starting,$recpage);
$result = $obj->result;
?>
网站上这部分输出的HTML部分代码是这样的:
<table>
<?if(mysql_num_rows($result)!=0){
$counter = $starting + 1;
while($data = mysql_fetch_array($result)) {?>
<tr>
<td align="center"><? echo $data['username']; ?></TD>
<td align="center"><? echo $data['result']; ?></TD>
</tr>
<?
$counter ++;
} ?>
我需要根据“结果”列中的输出字获得上述所需的格式。 谢谢。
最佳答案
有几个选项,即强力方式,您只需应用生成的样式
,或者通过预定义样式类并根据输出应用它们...
在后一种情况下(最合理,IMO),您只需将 $result
的内容应用于 class
属性:
<td align="center" class="<?php echo $result;?>"><? echo $data['result']; ?></td>
在第一种情况下,您可能会遇到这样的情况:
function getStyleColorForStatus($status) {
if ($status == 'WON') {
return 'Green';
}
else if ($status == 'LOST') {
return 'Red';
}
else if ($status == 'PENDING') {
return 'Grey';
}
return '';
}
<td align="center" style="background-color:<?php echo getStyleColorForStatus($data['result']); ?>"><? echo $data['result']; ?></td>
关于PHP - 如何根据 PHP 文件中的 MySQL 查询结果格式化单元格背景和字体颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7978451/