1

我有一个 SQL SELECT 语句,执行此语句后,我有一个 While 语句来显示 div 中的每条记录。这些 div 都在彼此之下,我希望这些 div 的颜色交替出现。所以像这样:

Result 1 = white div
Result 2 = grey div
Result 3 = white div
Result 4 = grey div.

我实际上不知道如何做到这一点,有人可以帮助我吗?谢谢!

编辑:我实际上可以提出这个理论,偶数白色,奇数灰色,但是我该如何编码呢?

4

3 回答 3

4

你可以用 css 来做,像这样:

.resultdiv:nth-child(odd) {
   background-color: white;
}

.resultdiv:nth-child(even) {
   background-color: grey;
}

这将起作用,只需确保您添加class="resultdiv"到您在 while 循环中创建的所有 div。

于 2012-11-02T13:07:26.487 回答
0

您可以在 while 循环中有一个布尔变量,您可以在其中获取结果集以确定该行是偶数还是奇数,并根据该变量更改 DIV 的颜色。

例子:

$alt_row = false;

while ($row = $query->fetch_assoc())
{

    $alt_row = (!$alt_row) ? true : false;

    if ($alt_row) {
        echo '<div class="alt">Content</div>';  
    } else {
        echo '<div>Content</div>';
    }
}

不过,我不喜欢混合我的逻辑和表示代码。

于 2012-11-02T13:36:48.087 回答
0

使用变量来改变颜色。

从白色开始,在打印结果时使用变量上的颜色并将其更改为另一种颜色(当它是灰色时将其更改为白色,当它是白色时将其更改为灰色)。

于 2012-11-02T13:06:36.753 回答