Php 根据单元格上写入的文本显示不同的行颜色
嗨,我正在努力解决这个问题: 我有一个PHP代码片段,我想应用到我的网页上,以便在文本等同于“优先级”或“支持”时更改表行的颜色。我需要帮助将php实现到表的HTML部分 片段Php 根据单元格上写入的文本显示不同的行颜色,php,html,css,html-table,Php,Html,Css,Html Table,嗨,我正在努力解决这个问题: 我有一个PHP代码片段,我想应用到我的网页上,以便在文本等同于“优先级”或“支持”时更改表行的颜色。我需要帮助将php实现到表的HTML部分 片段 <?php function switchColor($rowValue) { //Define the colors first $color1 = '#e2e2e2'; $color2 = '#00ff00'; $color3 = '#0000ff'; switch ($rowValue) {
<?php
function switchColor($rowValue) {
//Define the colors first
$color1 = '#e2e2e2';
$color2 = '#00ff00';
$color3 = '#0000ff';
switch ($rowValue) {
case 'PRIORITY':
echo $color1;
break;
case 'ADVISORY':
echo $color2;
break;
default:
echo $color3;
}
}
?>
我需要在这个表中实现
<tr class="tablerow<?php echo $count; ?>">
<td style="background-color: #92c38e; text-align:
center;">
<span style="font-size: medium;"><?php print
strip_tags($category_name) ?></span>
</td>
<td style="background-color: #92c38e; text-align:
center;">
<?php foreach($category as $num=>$categor){
if($num != sizeof($category)-1){
?>
<span style="color: #ffffff; font-size:
medium;" data-id="<?php echo $categor['item_id']; ?>"><?php print
strip_tags($categor['item_name']); ?></span>, 
<?php } else {?>
<span style="color: #ffffff; font-size:
medium;" data-id="<?php echo $categor['item_id']; ?>"><?php print
strip_tags($categor['item_name']); ?></span>
<?php } } ?>
</td>
<!--THIS IS THE COLUMN WHERE THE CELL SHOULD CHANGE COLOR WHEN THE TEXT IS EQUIVALENT TO THE WORDS "PRIORITY OR ADVISORY-->
<td style="background-color: #92c38e; text-align:
center;">
<span style="color: #ffffff; font-size: medium;">
<?php print strip_tags($category[0]['status']); ?></span>
</td>
</tr>
您可以为行表创建类,而不在php上使用函数。比如说
<tr class="tablerow<?php echo $count; ?> row_<? echo $rowValue; ?>"></tr>
您可以为行表创建类,而不在php上使用函数。比如说
<tr class="tablerow<?php echo $count; ?> row_<? echo $rowValue; ?>"></tr>
您可以设置表格行颜色,如下所示:
表,th,td{
边框:1px纯黑;
}
月
储蓄
一月
$100
您可以设置表格行颜色,如下所示:
表,th,td{
边框:1px纯黑;
}
月
储蓄
一月
$100
您可以使用CSS简化它。只需为每种优先级类型创建一个CSS类,您只需将好的类添加到好的行中
tr{背景:黄色;}
tr.PRIORITY{背景:红色;}
tr.咨询{背景:蓝色;}
表{宽度:100%;}
下面是一个没有PHP的示例,只是为了看看它是如何工作的,以及它应该如何在html源代码中呈现
以下是您在php中必须做的事情:只需在tr类中“回显”您的优先级即可。
您可以通过使用CSS来简化它。只需为每种优先级类型创建一个CSS类,您只需将好的类添加到好的行中
tr{背景:黄色;}
tr.PRIORITY{背景:红色;}
tr.咨询{背景:蓝色;}
表{宽度:100%;}
下面是一个没有PHP的示例,只是为了看看它是如何工作的,以及它应该如何在html源代码中呈现
以下是您在php中必须做的事情:只需在tr类中“回显”您的优先级即可。
如果您真的必须使用此特定函数,我会这样做:
<?php
function switchColor($rowValue) {
//Define the colors first
$color1 = '#e2e2e2';
$color2 = '#00ff00';
$color3 = '#0000ff';
switch ($rowValue) {
case 'PRIORITY': ?>
<td style="background-color: <?php echo $color1?>" text-align: center;">
<span style="color: #ffffff; font-size: medium;"><?php echo $rowValue?>
</span>
</td>
<?php
break;
case 'ADVISORY': ?>
<td style="background-color: <?php echo $color2?>" text-align: center;">
<span style="color: #ffffff; font-size: medium;"><?php echo $rowValue?>
</span>
</td>
<?php
break;
default: ?>
<td style="background-color: <?php echo $color3?>" text-align: center;">
<span style="color: #ffffff; font-size: medium;"><?php echo $rowValue?>
</span>
</td>
<?php
}
}
?>
“>,”
如果您真的必须使用此特定函数,我会这样做:
<?php
function switchColor($rowValue) {
//Define the colors first
$color1 = '#e2e2e2';
$color2 = '#00ff00';
$color3 = '#0000ff';
switch ($rowValue) {
case 'PRIORITY': ?>
<td style="background-color: <?php echo $color1?>" text-align: center;">
<span style="color: #ffffff; font-size: medium;"><?php echo $rowValue?>
</span>
</td>
<?php
break;
case 'ADVISORY': ?>
<td style="background-color: <?php echo $color2?>" text-align: center;">
<span style="color: #ffffff; font-size: medium;"><?php echo $rowValue?>
</span>
</td>
<?php
break;
default: ?>
<td style="background-color: <?php echo $color3?>" text-align: center;">
<span style="color: #ffffff; font-size: medium;"><?php echo $rowValue?>
</span>
</td>
<?php
}
}
?>
“>,”
这里
如果我能很好地理解你的问题,至少这是解决办法。如果没有,请告诉我。这里
如果我能很好地理解你的问题,至少这是解决办法。如果没有,请告诉我。您也可以使用引导的表类,并在行级别上指定将要传递给$rowValue变量的内容?是这样吗?@Varin是的,这是正确的,伙计们,这不是一个重复的问题,这是一个涉及从服务器端生成的代码的问题,而另一个问题,标记为这一问题的重复,是关于客户端函数的。很明显,这两个问题都是关于同一个PHP/Wordpress项目的,但它们是完全不同的项目,我恳请您在结束一个问题之前多加注意。您还可以使用bootstrap的表类并在行级别上分配将传递给$rowValue变量的内容?是这样吗?@Varin是的,这是正确的,伙计们,这不是一个重复的问题,这是一个涉及从服务器端生成的代码的问题,而另一个问题,标记为这一问题的重复,是关于客户端函数的。很明显,这两个问题都是关于同一个PHP/Wordpress项目的,但它们是完全不同的项目,我恳请您在结束问题之前多加注意。此解决方案重构了一个分离良好的函数,并在其中包含HTML生成。因此,无法将此答案告知用户。如果您想改进代码的结构,这是一个很好的方法,但是您用了错误的方法。让switchColor保持原样以便以后使用,不要将其专用于此特定用例。相反,编写一个HTML生成函数,该函数将颜色作为参数,并在适当的位置回显该颜色(唯一的差异)。然后echo-generateColoredTag(switchColor(strip_标签($category[0]['status']));此解决方案重构一个分离良好的函数,并在其中包含HTML生成。因此,无法将此答案告知用户。如果您想改进代码的结构,这是一个很好的方法,但是您用了错误的方法。让switchColor保持原样以便以后使用,不要将其专用于此特定用例。相反,编写一个HTML生成函数,该函数将颜色作为参数,并在适当的位置回显该颜色(唯一的差异)。然后echo-generateColoredTag(switchColor(strip_标签($category[0]['status']));询问者要求语法将内容输入到样式标记的背景色值中。他显然是个初学者,让我们来回答这个问题,并给他语法。@Pierre Granger单元格是动态填充内容的,我无法知道哪个单元格中会有“PRIORITY”一词。我不确定我是否理解你的答案。忘记第一部分,这是一个没有php的例子。你需要的是第二部分。您的行中存储了“优先级”或“建议”,对吗?比如$row['priority-type']之类的?“所以你只需要动态地用类名写就可以了。”皮埃尔·格兰杰,首先非常感谢你试图帮助我。我的参考代码是上面的代码,表中单元格的文本是从PHP获取的,我不以静态方式存储它。不幸的是,你的解释对我来说很难理解。Lajos Arpad提供的解决方案确实有效,因此当“优先级”一词出现在单元格中时,单元格正在改变背景颜色,我现在唯一的问题是文本已经消失,因此,必须检查PHP sintax以显示文本,我会很好。@Pierre Granger我遵循了Lajos Arpad的解决方案,它实际上工作得很好,但是我想感谢您
<td style="background-color: <?php echo switchColor(strip_tags($category[0]['status'])); ?>; text-align:
center;">