感谢名单!
<?php
include 'connect.php';
echo "<table id='hor-zebra'>";
$i = 0;
while($row = mysql_fetch_array($result))
{
if(i%2 == 0)
{
echo "<tr class='even'>";
echo "<td>" . $row['departure'] ." ✈ ". $row['destination'] . "</td>";
echo "</tr>";
}
else
{
echo "<tr>";
echo "<td>" . $row['departure'] ." ✈ ". $row['destination'] . "</td>";
echo "</tr>";
}
$i++;
}
echo "</table>";
mysql_close($con);
?>
答案 0 :(得分:17)
您的if
条件中存在拼写错误。它应该是:
if($i%2 == 0)
您还可以通过将类名分配给if和else块中的变量来保存一些击键:
if($i%2 == 0)
{
$class = 'even';
}
else
{
$class = 'odd';
}
echo "<tr class='$class'>";
echo "<td>" . $row['departure'] ." ✈ ". $row['destination'] . "</td>";
echo "</tr>";
答案 1 :(得分:1)
您也可以使用css .nth-child属性
tr:nth-child(even) {background: #CCC}
tr:nth-child(odd) {background: #FFF}
答案 2 :(得分:0)
你忘记了'$'
if(i%2 == 0)
应该是
if(($i % 2) == 0)
答案 3 :(得分:0)
替换此行...
if(i%2 == 0)
......以下内容:
if($i % 2 == 0)
答案 4 :(得分:0)
这可以进一步改进。
foreach($post_array as $array => $row) {
$class = ($array %2 == 0) ? 'even' : 'odd';
echo '
<tr class="'.$class.'">
<td>' .$row['title']. '</td>
<td>' .$row['content']. '</td>
<td>' .$row['catid']. '</td>
<td>' .$row['id']. '</td>
<td>' . '<form action="edit.php?id='.$row['id'].'" method="post">
<input type="hidden" name="id" id="id" value="'.$row['id'].'" />
<input type="submit" name="edit" value="Edit" />
</form>' . '</td>
<td>' . '<form action="" method="post">
<input type="hidden" name="id" id="id" value="'.$row['id'].'" />
<input type="submit" name="delete" value="Delete" />
</form>' . '</td>
</tr>';
}
答案 5 :(得分:0)
CSS-Tricks发布了一个非常优雅的解决方案。 它看起来像超级还原C ++魔术。基本上他们这样做:
<div class="example-class<?php echo ($xyz++%2); ?>">
这适用于任何循环:for,foreach和while。 修改整数会为您提供更大的步长,即在3之后重置,在4之后重置等等。