PHP-如何根据PHP文件中的MySQL查询结果格式化单元格背景和字体颜色
我在PHP文件中有可行的mysql查询。 这是给我3个可能的不同的结果,在我的表中的网站在一列。它们是“赢”、“输”或“待定”。 我想进一步实现的是,当那个些特定单元格中的单词处于绿色背景时,当查询结果变为红色背景时,当待处理的单词变为灰色时 怎么做? 我是这方面的新手,所以在网上找不到安瑟 以下是可行查询的代码:PHP-如何根据PHP文件中的MySQL查询结果格式化单元格背景和字体颜色,php,mysql,format,Php,Mysql,Format,我在PHP文件中有可行的mysql查询。 这是给我3个可能的不同的结果,在我的表中的网站在一列。它们是“赢”、“输”或“待定”。 我想进一步实现的是,当那个些特定单元格中的单词处于绿色背景时,当查询结果变为红色背景时,当待处理的单词变为灰色时 怎么做? 我是这方面的新手,所以在网上找不到安瑟 以下是可行查询的代码: <? $qry = " SELECT timelive,match_title,selection, CASE WHEN game.result LIKE '' THEN '
<?
$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;
?>
我缺少创建$data变量的部分
只需将“game.result”添加到$data数组中即可。现在,在代码中,您可以执行以下操作:
<tr>
<td align="center" class="<? echo $data['result'];?>"><? echo $data['username']; ?></TD>
<td align="center"><? echo $data['result']; ?></TD>
</tr>
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>
当game.result“丢失”时,表中的用户名字段应为红色背景。如果可能,在单独的css文件中创建以下css定义:
.won
{
background-color:green;
}
.lost
{
background-color:red;
}
在此之后,将css文件链接到页面,最后根据给定条件使用jQuery添加/删除css类
您可以通过以下链接阅读更多内容:
根据结果为表格单元格分配css类,如下所示:
$tdClass = '';
switch ($data['result']) {
case 'WON':
$tdClass = 'won';
break;
case 'LOST':
$tdClass = 'lost';
break;
case 'PENDING':
$tdClass = 'pending';
break;
}
很明显,这是您的php,在您的html中,您可以:
<td class="<?php $tdClass; ?>"><?php echo $data['result']; ?></td>
但是,不要选择绿色、红色等。选择您喜欢的确切颜色。两个选项,蛮力方式,您只需应用生成的样式,或者通过预定义样式类并根据输出应用它们
在后一种情况下(最合理,IMO),只需将$result
的内容应用于类
属性:
<td align="center" class="<?php echo $result;?>"><? echo $data['result']; ?></td>
在第一种情况下,您可能会遇到如下情况:
<tr>
<td align="center" class="<? echo $data['result'];?>"><? echo $data['username']; ?></TD>
<td align="center"><? echo $data['result']; ?></TD>
</tr>
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>
函数getStyleColorForStatus($status){
如果($status=='WON'){
返回“绿色”;
}
如果($status=='LOST',则为else){
返回“红色”;
}
如果($status=='PENDING',则为else){
返回“灰色”;
}
返回“”;
}
在回显结果之前,设置如下条件
if( $data['result'] == 'WON' ){
echo '<div class="green">' . $data['result'] . '</div>'
}
elseif( $data['result'] == 'LOST' ){
echo '<div class="red">' . $data['result'] . '</div>'
}
elseif( $data['result'] == 'PENDDING' ){
echo '<div class="gray">' . $data['result'] . '</div>'
}
if($data['result']=='WON'){
回显'.$data['result'].'
}
elseif($data['result']=='LOST'){
回显'.$data['result'].'
}
elseif($data['result']=='PENDING'){
回显'.$data['result'].'
}
第一个选项适用于我!但无法获得第二个选项,其中可以使用css单独文件选择字体重量和字体颜色。我有单独的css文件和所有的工作良好。你能用代码更详细地解释一下吗?谢谢
if( $data['result'] == 'WON' ){
echo '<div class="green">' . $data['result'] . '</div>'
}
elseif( $data['result'] == 'LOST' ){
echo '<div class="red">' . $data['result'] . '</div>'
}
elseif( $data['result'] == 'PENDDING' ){
echo '<div class="gray">' . $data['result'] . '</div>'
}