Как раскрасить четные / нечетные строки таблицы в PHP - PullRequest
1 голос
/ 14 июня 2011

ОК. У меня есть вопрос, у меня есть этот код, который я перечислю ниже. Мне нужно сделать четные строки светло-голубыми, а нечетные - белыми. Теперь это не появляется, поэтому я предполагаю, что я делаю что-то не так. Теперь мне нужно сделать в нем порядок, чтобы строки выглядели так, как мне нужно?

<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 ]

5 голосов
/ 14 июня 2011

Вы используете $rowcount в своих условных обозначениях и инициализации, но вы используете $rowscount (с "s") в своем приращении

Примечание: для этого вам действительно следует использовать CSS, а не свойство bgcolor.

3 голосов
/ 14 июня 2011

у вас есть опечатка ... изменить $rowscount++ на $rowcount++

2 голосов
/ 14 июня 2011

Самый простой способ сделать это с помощью CSS.Вы можете использовать правило nth-child, чтобы выбрать нечетные и четные строки таблицы и покрасить их по-разному.Таким образом, вам не понадобится оператор модуля if, который вы используете.

См. эту скрипку для примера.

1 голос
/ 14 июня 2011

Попробуй это.Это немного чище и работает:

<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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...