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

时间:2014-03-22 19:30:49

标签: php html css database

我在某种程度上有点卡住了......我在下面的代码中添加了3条评论,因为我知道它需要处理的地方。我想要做的是在我的专栏法规=='接受'',另一种特定颜色时为特定的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>';
        }
    }

3 个答案:

答案 0 :(得分:1)

您可以在条件

中为变量指定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;
}

答案 1 :(得分:0)

PHP

public function Show($name) {
        $st = $this->db->prepare("SELECT * FROM form WHERE username='$name'");
        $st->execute();
            $results = $st->fetchobject();
                if($results->statut == 'ACCEPTED'){
                      $class = 'green'; // color my div in green.
                } else if ($results->statut == 'REFUSER'){
                      $class = 'red';  // color my div in red.
                } else {
                      $class = 'yellow';  // color my div in yellow.
                }
        while($r = $st->fetch()){
                    echo "<div class=\"$class\">";
            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>';
        }
    }

CSS

 .green{background:green}
 .yellow{background:yellow}
 .red{background:red}

答案 2 :(得分:0)

只要在条件满足即

时应用css类
public function Show($name) {
    $st = $this->db->prepare("SELECT * FROM form WHERE username='$name'");
    $st->execute();
        $results = $st->fetchobject();
            if($results->statut == 'ACCEPTED'){
                  echo "<div class='green'></div>";
            } else if ($results->statut == 'REFUSER'){
                  echo "<div class='red'></div>";
            } else {
                  echo "<div class='yellow'></div>";
            }
    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>';
    }
}

在CSS中有以下类:

 .green
{background:green}
 .yellow
{background:yellow}
 .red
{background:red}