0

我有一个像下面这样的 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 或其他语言做,但我需要帮助。

谢谢

4

3 回答 3

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>';
    }
}
于 2013-11-04T18:11:12.697 回答
0

您可以为 TR 设置两个类,例如 rowOdd 和 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; }
于 2013-11-04T17:21:52.963 回答
0

试试这个:

$bgcolor       = ""; 
$new_bgcolor   = "#F1F1F1";
$bgcolor_trans = "";

if ( $current_row > $last_row ){
   $bgcolor_trans = $bgcolor;
   $bgcolor       = $new_bgcolor;
   $new_bgcolor   = $bgcolor_trans;    
} 
于 2013-11-04T18:17:27.423 回答