我正在尝试排序奇怪的<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 ;?>">
它不起作用,我错过了什么吗?
答案 0 :(得分:3)
您想使用modulo%
一些例子:
因此,根据余数是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 ;?>">
<?
}
}
?>
答案 1 :(得分:1)
$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元素。
答案 2 :(得分:1)
由于这是严格显示,我建议使用Javascript,而不是PHP。
看看它有多简单: http://paragasu.wordpress.com/2009/01/05/alternate-table-row-color-the-easy-way/
答案 3 :(得分:0)
您是否在任何地方定义了$rc=0;
?
答案 4 :(得分:0)
您遇到的问题似乎是您在增加$ rc ++之后没有重置它。尝试将其设置为0,然后在将其增加到1后重置它。
答案 5 :(得分:0)
$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
}