我有一个像PHP一样的PHP表,我需要它,当第一列改变值时,行会改变颜色。 例如:在示例中的表格中,第一行和第二行将为红色,第三行将为蓝色,第四行将为红色,依此类推
<table>
<tr>
<td>1</td>
<td>Test 1</td>
<td>Today</td>
</tr>
<tr>
<td>1</td>
<td>Test 2</td>
<td>Tomorrow</td>
</tr>
<tr>
<td>2</td>
<td>Test 3</td>
<td>Yesterday</td>
</tr>
<tr>
<td>3</td>
<td>Test 1</td>
<td>Next Saturday</td>
</tr>
</table>
我可以使用CSS,jQuery或其他语言,但我需要帮助。
由于
答案 0 :(得分:0)
您可以为TR设置两个类,例如rowOdd&amp; rowEven
$days = array(1=>'Day1', 2=>'Day2', 3=>'Day3');
$trClass='Odd';
echo '<table>';
foreach ($days as $key=>$value) {
echo '<tr class="row'.$trClass.'"><td>'.$key.'</td><td>'.$value.'</td></tr>';
if ($trClass=='Odd') { $trClass='Even'; } else { $trClass='Odd'; }
}
echo '</table>';
CSS
.rowOdd { background-color: #F00; }
.rowEven { background-color: #0F0; }
答案 1 :(得分:0)
请记住,您始终可以在堆栈溢出中搜索问题的答案。你不是第一个遇到这种问题的人。
请参阅以下内容:
Adding PHP alternate table row colours to existing HTML table
答案 2 :(得分:0)
您可以使用标志变量进行计数。例如:
$count = 0;
while($rows = mysql_fetch_array($query)){
$count++;
if(($count%2) == 0){
echo '<tr style="background:#FFF">';
echo '<td>';
echo '</td>';
echo '</tr>';
}
else{
echo '<tr style="background:#000">';
echo '<td>';
echo '</td>';
echo '</tr>';
}
}
答案 3 :(得分:0)
试试这个:
$bgcolor = "";
$new_bgcolor = "#F1F1F1";
$bgcolor_trans = "";
if ( $current_row > $last_row ){
$bgcolor_trans = $bgcolor;
$bgcolor = $new_bgcolor;
$new_bgcolor = $bgcolor_trans;
}