如何使用PHP为交替表行提供不同的背景颜色

Sam*_*Sam 7 php

我有一个数据表,它是根据存储在mysql数据库中的内容动态生成的.

这是我的代码的样子:

<table border="1">
    <tr>
        <th>Name</th>
        <th>Description</th>
        <th>URL</th>
    </tr>
    <?php
        $query = mysql_query("SELECT * FROM categories");
        while ($row = mysql_fetch_assoc($query)) {
            $catName = $row['name'];
            $catDes = $row['description'];
            $catUrl = $row['url'];

            echo "<tr class=''>";
            echo "<td>$catName</td>";
            echo "<td>$catDes</td>";
            echo "<td>$catUrl</td>";
            echo "</tr>";
        }
    ?>
</table>
Run Code Online (Sandbox Code Playgroud)

现在,如果表是静态的,那么我将按重复顺序为每个交替表行分配2个样式中的一个:

.whiteBackground { background-color: #fff; }
.grayBackground { background-color: #ccc; }
Run Code Online (Sandbox Code Playgroud)

那将是结束.但是由于表行是动态生成的,我该如何实现呢?

Jas*_*mer 23

或者您可以使用CSS:

table tr:nth-child(odd) { background-color: #ccc; }


Aar*_*run 12

<?php 

$x++; 

$class = ($x%2 == 0)? 'whiteBackground': 'graybackground';

echo "<tr class='$class'>";

?>
Run Code Online (Sandbox Code Playgroud)

它基本上检查$ x是否可以被2均分.如果是,它是偶数.

PS如果你还没有看到if else查询的那种风格,它就叫做三元运算符.