我有一个 SQL SELECT 语句,执行此语句后,我有一个 While 语句来显示 div 中的每条记录。这些 div 都在彼此之下,我希望这些 div 的颜色交替出现。所以像这样:
Result 1 = white div
Result 2 = grey div
Result 3 = white div
Result 4 = grey div.
我实际上不知道如何做到这一点,有人可以帮助我吗?谢谢!
编辑:我实际上可以提出这个理论,偶数白色,奇数灰色,但是我该如何编码呢?
你可以用 css 来做,像这样:
.resultdiv:nth-child(odd) {
background-color: white;
}
.resultdiv:nth-child(even) {
background-color: grey;
}
这将起作用,只需确保您添加class="resultdiv"
到您在 while 循环中创建的所有 div。
您可以在 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>';
}
}
不过,我不喜欢混合我的逻辑和表示代码。
使用变量来改变颜色。
从白色开始,在打印结果时使用变量上的颜色并将其更改为另一种颜色(当它是灰色时将其更改为白色,当它是白色时将其更改为灰色)。