php - 当 X 列的值为 ACCEPTED 时,为特定的 div 着色

标签 php html css database

我有点卡在某个地方了。我在下面的代码中添加了 3 条评论,因为我知道我需要在哪里工作。我想要做的是在我的列 statut == 'Accepted'' 时为特定的 ID/CLASS div 着色,如果……好吧,您可以通过我的代码猜出另一种特定颜色。问题是,我不知道应该如何以及用什么语言来做。 CSS? HTML?

public function Show($name) {
        $st = $this->db->prepare("SELECT * FROM form WHERE username='$name'");
        $st->execute();
            $results = $st->fetchobject();
                if($results->statut == 'ACCEPTED'){
                      // color my div in green.
                } else if ($results->statut == 'REFUSER'){
                      // color my div in red.
                } else {
                      // color my div in yellow.
                }
        while($r = $st->fetch()){
                    echo '<div class="SupInfo">';
            echo '<hr>';
            echo 'Votre adresse : '.$r['Adresse'].'<br>';
            echo 'Votre met : '.$r['Met'].'<br>';
            echo 'Votre age : '.$r['Age'].'<br>';
            echo 'Statut : '.$r['Statut'].'<br>';
            echo '<hr>';
                    echo '</div>';
        }
    }

最佳答案

您可以将条件中的 div 的类名分配给变量

public function Show($name) {
    $st = $this->db->prepare("SELECT * FROM form WHERE username='$name'");
    $st->execute();
    $results = $st->fetchobject();
    if($results->statut == 'ACCEPTED'){
        $color = 'green';
    } else if ($results->statut == 'REFUSER'){
        $color = 'red';
    } else {
        $color = 'yellow';
    }
    while($r = $st->fetch()) {          
        echo '<div class="'.$color.'">';
        echo '<hr>';
        echo 'Votre adresse : '.$r['Adresse'].'<br>';
        echo 'Votre met : '.$r['Met'].'<br>';
        echo 'Votre age : '.$r['Age'].'<br>';
        echo 'Statut : '.$r['Statut'].'<br>';
        echo '<hr>';
        echo '</div>';
    }
}

但我认为这不会给您预期的输出,因为所有 div 都将根据所选的第一条记录的状态进行着色,也许您需要一些不同的东西

public function Show($name) {
    $st = $this->db->prepare("SELECT * FROM form WHERE username='$name'");
    $st->execute();
    $results = $st->fetchobject();
    while($r = $st->fetch()) {     
        if($r['statut'] == 'ACCEPTED') {
            echo '<div class="green">';
        } else if($r['statut'] == 'REFUSER') {
            echo '<div class="red">';
        } else { 
            echo '<div class="yellow">';
        }
        echo '<hr>';
        echo 'Votre adresse : '.$r['Adresse'].'<br>';
        echo 'Votre met : '.$r['Met'].'<br>';
        echo 'Votre age : '.$r['Age'].'<br>';
        echo 'Statut : '.$r['Statut'].'<br>';
        echo '<hr>';
        echo '</div>';
    }
}

现在你只需要在你的样式表文件中添加类似的东西

.red {
    background-color: red;
}
.green {
    background-color: green;
}
.yellow {
    background-color: yellow;
}

关于php - 当 X 列的值为 ACCEPTED 时,为特定的 div 着色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22582460/

相关文章:

javascript - 删除父元素和所有子元素

php - 一次更改所有页面上的 'DIV' 内容的最简单方法

php - 我如何将 Paypal 用于我网站的高级部分并处理高级用户与普通用户的关系?

html - 选择最后(动态)行的元素?

php - Laravel 5 请求 : Authorizing and then parsing object to controller

CSS:将鼠标悬停在 div 内的元素上,更改另一个 div 内的元素样式

javascript - 等待某物停止来触发功能

css - 调整列表以遵循自然流程

php - 将插入查询更改为更新查询

php - Linux后台任务最大处理时间