对于php中的每个其他输出

时间:2015-04-16 01:01:03

标签: php css

所以我有一个$ res

$res = $conn->query("SELECT username, Hours,joined FROM users ORDER by Hours DESC LIMIT 10");

导致此表​​:

while ($row =$res->fetch_assoc()){
        echo "<tr><td>" .$row["username"] ."</td><td>"
. $row["Hours"]."</td><td>".$row["joined"]."</td></tr>"; 


    }

然后使用html和css:

table, td, th {
    background-color:#F2F2F2;
    font-size:20px;

    left:20px;
    th {
    background-color: green;
    color: white;

}

如何使第一个输出为某种颜色,在这种情况下为#F2F2F2(浅灰色)背景。然后第二个输出(列)白色背景颜色?然后第三次输出#F2F2F2,所以基本上每隔一次输出一次。我在考虑一个if语句?但无法想到具体的一个。到目前为止,我按照计划得到了一个丑陋的纯灰色背面接地台。

2 个答案:

答案 0 :(得分:2)

有一个更简洁的方法来使用CSS3你可以这样做而不使用像这样的nth_child()选择器的

table, td, th {
    background-color:#F2F2F2;
    font-size:20px;

    left:20px;
    th {
    background-color: green;
    color: white;

}

tr:nth-child(even) {
background-color:#fff
}

在你的情况下,这使得所有偶数表行,即2,4,6 ....具有白色的背景颜色,你也可以将参数更改为奇数,具体取决于你想要如何使用它。还应注意,Internet Explorer 8及更早版本不支持:nth-​​child()选择器

答案 1 :(得分:1)

这是一种快速而又肮脏的方式:

$i=0;
    while ($row =$res->fetch_assoc()){
        $bg="";
        if ($i & 1) $bg=' bgcolor="#f2f2f2"';

        echo "<tr$bg><td>" .$row["username"] ."</td><td>"
    . $row["Hours"]."</td><td>".$row["joined"]."</td></tr>"; 
        $i++;

    }