如何在PHP中为偶数/奇数表行着色

时间:2011-06-14 19:43:59

标签: php html-table

好的我有一个问题我有这个代码,我将在下面列出。我需要使偶数行为浅蓝色,奇数为白色。现在它没有出现所以我假设我做错了。现在我需要在其中执行顺序,以便行看起来像我需要它的方式吗?

<html>
<head>

<title> Html Tables</title>
</head>
<body>
<?php
echo "<table width=\"50%\" cellpadding=\"2\" cellspacing=\"2\" border=\"1\">";
echo "<tr bgcolor=\"#FFFFFF\">";
$rowcount=0;
for($x=1;$x<=12;$x++){
echo " <td align=\"center\" style=\"width:100px\">".$x."</td>\n";
if ($x%4==0) {
  if ($rowcount%2==0){
   echo "</tr>";
   echo "<tr bgcolor=\"#5CCDC9\">\n";
   }
   else{
    echo "</tr>";
    echo "<tr bgcolor=\"#FFFFFF\">\n";
    }
    $rowscount++;
   }
 }
echo "</tr>";
echo "</table>";
 ?>
</body>
</html>

好的我在阅读了一些事情之后想要更好地理解这是我的新代码

<html>
<head>

<title> Html Tables</title>
<style type=<\"text/css\">
.even { bgcolor:#5CCDC9; }
.odd { bgcolor:#FFFFFF; }
</style>
</head>
<body>
<?php
echo "<table width=\"50%\" cellpadding=\"2\" cellspacing=\"2\" border=\"1\">";
echo "<tr bgcolor=\"#FFFFFF\">";
$rowcount=0;
for($x=1;$x<=12;$x++){
echo " <td align=\"center\" style=\"width:100px\">".$x."</td>\n";
if ($x%4==0) {
 if ($rowcount%2==0){
    echo "</tr>";
   echo "<tr class=\"even\">\n";
   }
   else{
    echo "</tr>";
    echo "<tr class=\"odd\">\n";
    }
    $rowcount++;
   }
 }
 echo "</tr>";
 echo "</table>";
 ?>
 </body>
 </html>

现在我只是不明白如何用PHP编写它我正在阅读并试图弄清楚如何理解它。对不起,我是新手。

4 个答案:

答案 0 :(得分:5)

您在条件和初始化中使用$rowcount,但在增量中使用$rowscount(在“s”中)。

注意:您应该使用CSS而不是bgcolor属性。

答案 1 :(得分:3)

您有错误...将$rowscount++更改为$rowcount++

答案 2 :(得分:2)

最简单的方法是使用CSS。您可以使用nth-child规则选择表格的奇数行和偶数行,并对它们进行不同的着色。这样,您就不需要使用模数运算符if语句。

有关示例,请参阅this fiddle

答案 3 :(得分:1)

试试这个。它有点清洁,它的工作原理:

<html>
    <head>
        <title> Html Tables</title>
    </head>
    <body>
        <table width="50%" cellpadding="2" cellspacing="2" border="1">
<?php
for($x = 1; $x <= 12; $x++) {
    if ($x % 2 == 0) {
        echo '            <tr bgcolor="#5CCDC9">', PHP_EOL;
    } else {
        echo '            <tr bgcolor="#FFFFFF">', PHP_EOL;
    }
    echo '                <td align="center" style="width:100px">' . $x . '</td>', PHP_EOL;
    echo '            </tr>', PHP_EOL;
}
?>
        </table>
    </body>
</html>