在PHP中更改文本颜色时转义特殊字符
在“我的表格”的“状态”列中,可能有3个值(已过账、取消、尚未过账) 每个值都有其指定的颜色。我使用以下代码实现了这一点:在PHP中更改文本颜色时转义特殊字符,php,Php,在“我的表格”的“状态”列中,可能有3个值(已过账、取消、尚未过账) 每个值都有其指定的颜色。我使用以下代码实现了这一点: if($posted == 'posted') { $posted = "<b style='color:blue'>posted</b>"; } elseif($posted == 'cancel')
if($posted == 'posted')
{
$posted = "<b style='color:blue'>posted</b>";
}
elseif($posted == 'cancel')
{
$posted = "<b style='color:red'>cancel</b>";
}
else
{
$posted = "<b style='color:green'>not yet posted</b>";
}
该数组如表所示:
foreach($db_array as $key => $value)
{
if(($key % 2) == 0)
{
?>
<tr class='hoverstate2' onclick="clicked('<?php echo $value['serial_no']; ?>','<?php echo $value['posted']; ?>','<?php echo $value['model']; ?>','<?php echo $value['desc']; ?>','<?php echo $value['series']; ?>','<?php echo $value['refno']; ?>','<?php echo $value['custname']; ?>','<?php echo $value['client_code']; ?>','<?php echo $value['ctelno']; ?>','<?php echo $value['contpers']; ?>','<?php echo $value['brand']; ?>','<?php echo $value['unit_type']; ?>','<?php echo $value['posted']; ?>','<?php echo $value['address']; ?>','<?php echo $value['city']; ?>')">
<td ><?php echo $value['serial_no']; ?></td>
<td ><?php echo $value['model']; ?> </td>
<td ><?php echo $value['desc']; ?></td>
<td ><?php echo $value['posted']; ?></td></tr>
<?php
}
有很多方法可以解决你的问题。大概是这样的:
switch($posted){
case 'posted':
$posted = "<b class='posted'>posted</b>";
break;
case 'cancel':
$posted = "<b class='cancel'>cancel</b>";
break;
default:
$posted = "<b class='default'>not yet posted</b>";
break;
}
在css中:
.posted{
color:blue;
}
.cancel{
color:red;
}
.default{
color:green;
}
在PHP中,您可以尝试使用switch语句,而不是使用if-else语句。您可以实现以下目标:
switch($posted){
case 'posted':
$posted = "<b class='posted'>posted</b>";
break;
case 'cancel':
$posted = "<b class='cancel'>cancel</b>";
break;
default:
$posted = "<b class='default'>not yet posted</b>";
break;
}
开关($posted){
个案‘已张贴’:
$posted=“posted”;
打破
“取消”案例:
$posted=“取消”;
打破
违约:
$posted=“尚未过帐”;
打破
}
看,我改变了你的风格,把它放到了课堂上。更干净,在javascript中,您只需调用所需的类。哪里有
$posted
以及如何应用javascript?我觉得你的解决方案可能比你现有的要简单得多done@Soundz请查看我的编辑。你能设置一个小提琴吗?问题仍然存在。我逃过了它。当我提醒我需要传递它的值时,会提醒整个代码“已传递”,而不仅仅是“已传递”。你确定你传递的是来自SQL的已传递值吗??而不是$posted,它是html标记。。我确定您不想传递html标记。@user2574957 alert不会解释您的代码。它将显示您传递的整个代码。试着在你的浏览器中写下它,并检查它的反应。我重复了它,它只显示“发布”的值。。。当传递到javascript时,变量$posted的值变为b class='posted'>posted“当我不使用代码给文本上色时,它工作得很好。请仔细检查您的代码。您正在使用变量$posted仔细检查逻辑。请记住$posted用于HTML,而不是要在javascript中传递的值。
switch($posted){
case 'posted':
$posted = "<b class='posted'>posted</b>";
break;
case 'cancel':
$posted = "<b class='cancel'>cancel</b>";
break;
default:
$posted = "<b class='default'>not yet posted</b>";
break;
}