根据MySQL数据库字段中的值设置背景颜色

0 css php mysql

我用PHP和MySQL数据库创建了票务系统.

在视图故障单页面上,我显示了数据库中的每个故障单,其中包括每个故障单的优先级.优先级设置为低,正常或高.

当数据传递到我的页面时,它会将div中的优先级设置为我在数据库表中所说的内容.

我想找到一种方法来改变背景颜色,具体取决于优先级字段中显示的值,所以红色表示高,橙色表示正常,绿色表示低.

HTML/PHP

<div class="priority">
    <?php 
    $priority_query = "SELECT priority FROM tickets";
    $priority = mysql_query($priority_query);

    if ($priority = 'low') { ?>
    <div class="priority_low"><?php echo 'Priority: ' . mysql_result ($result,$j,'priority') .''; ?></div>

    <?php       
    } else if ($priority = 'normal') { ?>
        <div class="priority_normal"><?php echo 'Priority: ' . mysql_result($result,$j,'priority') .''; ?></div>

        <?php       
        } else if ($priority = 'high') { ?>
        <div class="priority_high"><?php echo 'Priority: ' . mysql_result($result,$j,'priority') .''; ?></div>

        <?php } ?>

</div>
Run Code Online (Sandbox Code Playgroud)

CSS

.priority_low {
        background-color: green;
    }

.priority_normal {
        background-color: orange;
    }

.priority_high {
        background-color: red;
    }
Run Code Online (Sandbox Code Playgroud)

我已经尝试了上面的代码,但这只会带回一个绿色背景,这显然不是我需要的.

有人有任何想法让这项工作?

Fun*_*ner 6

你现在正在做一项任务,而不是比较.

if ($priority = 'low').

它应该if ($priority == 'low')与2x等号一致.

  • 为其他人做同样的事情.

参考文献:

但是,您需要使用while()循环和if()内部循环结果.

即:

while ($row = mysql_fetch_array($priority))  
{
    if(...) // your if conditions
}
Run Code Online (Sandbox Code Playgroud)

并使用$row而不是查询的$priority变量,这会抛出你的错误.

即:if ($row == 'low'){...} 等等.等

参考文献:


脚注:

mysql_* 功能弃用通知:

http://www.php.net/manual/en/intro.mysql.php

此扩展自PHP 5.5.0起不推荐使用,不建议用于编写新代码,因为将来会删除它.相反,应该使用mysqliPDO_MySQL扩展.另请参阅MySQL API概述,以便在选择MySQL API时获得进一步的帮助.

这些函数允许您访问MySQL数据库服务器.有关MySQL的更多信息,请访问» http://www.mysql.com/.

有关MySQL的文档,请访问» http://dev.mysql.com/doc/.