PHP:突出显示表的每隔一行

时间:2015-10-13 12:24:13

标签: php css arrays loops echo

我使用此代码创建HTML表格

for ($x = 0; $x <= $requiredRows; $x++) {       
    echo "<tr>";
    echo "<td>";
    echo someArrayStuff($x);
    echo "</td>";

    echo "<td>";
    echo $someArrayStuff[$x][arrayinfos];
    echo "</td>";

    echo "<td>";
    echo $someArrayStuff[$x][arrayinfos];
    echo "</td>";
    echo "</tr>";
}

现在我想用背景颜色突出显示每一行,我该如何用PHP做到这一点?我不想在CSS文件中定义它。

感谢您的帮助,现在可以使用此代码:

if($x%2 == 0) { echo "<tr bgcolor='#FFFFF'>"; } else { echo "<tr bgcolor='#FFFFF'>"; }

5 个答案:

答案 0 :(得分:4)

if($x%2 == 0) {
    echo '<tr class="bg-highlight">';
} else {
    echo "<tr>";
}

并定义一个css类:

.bg-highlight {
    background-color: red;
}

答案 1 :(得分:1)

您可以简单地创建一个动态类,它将根据您的循环进行更改

$class = ($x%2 == 0) ? "highlight" : "";
echo "<tr class='$class'>";

只需创建一个名为

的类
.highlight{
    background-color: grey;
}

答案 2 :(得分:1)

或者您可以在css中使用此代码来表示奇数行或偶数行。

div:nth-child(even)
{
  background-color: yellow;
}

答案 3 :(得分:0)

你可以使用mod。 $ x%2将检查它是否为偶数行。这将是替代行。如果它被发现为偶数行,则给出不同的背景颜色。

for ($x = 0; $x <= $requiredRows; $x++) {  
    if($x%2 == 0) { //even
    echo "<tr style="background-color: #FF0000">";
    } else { // odd
    echo "<tr>"; 
    }

    echo "<td>";
    echo someArrayStuff($x);
    echo "</td>";

    echo "<td>";
    echo $someArrayStuff[$x][arrayinfos];
    echo "</td>";

    echo "<td>";
    echo $someArrayStuff[$x][arrayinfos];
    echo "</td>";
    echo "</tr>";
}

答案 4 :(得分:0)

for ($x = 0; $x <= $requiredRows; $x++) {       
    echo "<tr";
    if ($x % 2 === 1) {echo " style=\"background-color: yourFavoriteColor;\"";}
    echo ">";
              ..................