我试图在排序中使奇数<tr>
和偶数<tr>
有不同的颜色,以便于阅读。
下面是我的代码:
$show_res = mysql_query($show_query);
while ($show_row = mysql_fetch_assoc($show_res)){
$rc++;
if (($rc > 1)){
$tr = '#cccccc';
} else {
$tr = '#ffffff';
}?>
<tr style="background-color:<?php echo $tr ;?>">
它不工作,我错过了什么吗?
你想使用模数%
一些例子:
- 5 % 2 =余数为1
- % 2 =余数为0
- 6% 2 =余数为0
- 9 % 2 =余数为1
根据余数是1还是0来改变颜色。并且你希望<tr>
元素成为循环的一部分,因为它不断地从一种颜色或另一种颜色变化,来回变化。
$show_res = mysql_query($show_query);
while ($show_row = mysql_fetch_assoc($show_res))
{
$rc++;
if ($rc % 2 == 1)
{
$tr = '#cccccc';
}
else
{
$tr = '#ffffff';
?>
<tr style="background-color:<?php echo $tr ;?>">
<?
}
}
?>
$show_res = mysql_query($show_query);
while ($show_row = mysql_fetch_assoc($show_res)){
$rc++;
if (($rc > 1)){
$tr = 'odd';
} else {
$tr = 'even';
}?>
<tr class="<?php echo $tr ;?>">
CSS .odd td { background-color: #FFF; }
.even td { backgorund-color: #F6F6F6; }
使用CSS设置背景颜色为TD而不是TR元素
由于这是严格的显示,我建议使用Javascript,而不是PHP。
看这有多简单:http://paragasu.wordpress.com/2009/01/05/alternate-table-row-color-the-easy-way/
您在哪里定义了$rc=0;
吗?
您遇到的问题似乎是在您增加了$rc++之后没有重置它。尝试将其设置为0,然后在将其增加到1后将其重置。
$show_res = mysql_query($show_query);
while ($show_row = mysql_fetch_assoc($show_res))
{
if ( isset($k) and $k==1)
{
echo '<tr class="EvenTableRows">';
$k=0;
} else {
echo '<tr class="OddTableRows">';
$k=1;
}
..... more statement
}