-2

由于代码生成的每一行都具有相同的颜色,我怎样才能使它每隔一行添加一个稍暗的阴影?

即:白色米色 白色米色 白色米色

使其成为更易读的格式。

下面的代码:

if(mysql_num_rows($result) > 0){
    while($row = mysql_fetch_array($result)){
        $invoiceitemssql = mysql_query('SELECT * FROM tblinvoiceitems WHERE invoiceid = '.$row['id'].' LIMIT 0,1');
        $invoiceitems = mysql_fetch_array($invoiceitemssql);
        $html .= '<tr>
            <td><a href="invoices.php?action=edit&id='.$row['id'].'">'.$row['id'].'</a></td>
            <td>'.$row['firstname'].'</td>
            <td>'.$row['lastname'].'</td>
            <td>'.$row['companyname'].'</td>
            <td>'.$row['city'].'</td>
            <td>'.$row['phonenumber'].'</td>
            <td>'.$row['date'].'</td>
            <td>'.$row['duedate'].'</td>
            <td>'.$row['total'].'</td>
            <td>'.$invoiceitems['description'].'</td>
        </tr>';
    }
}
4

5 回答 5

1

像这样

$i = 0;

if(mysql_num_rows($result) > 0){
    while($row = mysql_fetch_array($result)){

    if ($i % 2 == 0) {
        color white
    } else {
        color beige
    }

    $i++;
    }
}
于 2013-09-24T18:39:02.883 回答
0

你可以使用 css

tr:nth-child(even) {background: #CCC}
tr:nth-child(odd) {background: #FFF}
于 2013-09-24T18:39:58.777 回答
0

使用计数器切换背景颜色:

$i=0;
while($row = mysql_fetch_array($result)){
     if($i%2 == 0)
         $bgcolor='beige'; // change the color code as needed
     else 
         $bgcolor='white';
     $i++;
     ......
     $html .= '<tr style="background:#'.$bcolor.'">
于 2013-09-24T18:40:09.640 回答
0

您可以为此使用 CSS nth-child 选择器,这样您就不必执行凌乱的 php 循环来添加颜色。

HTML

<table>
  <tr>
   <td></td><td></td>
  </tr>
  <tr>
   <td></td><td></td>
  </tr>
  <tr>
   <td></td><td></td>
  </tr>
</table>

CSS

table tr:nth-child(odd) {
  background:#F00;
}
table tr:nth-child(even) {
  background:#FF0;
}

JSFiddle 演示

于 2013-09-24T18:41:20.373 回答
0

您可以使用 CSS 为每个不同的行设置样式。

例如:

tr:nth-child(odd)
{
   background:#fff;
}
tr:nth-child(even)
{
   background:#ddd;
}
于 2013-09-24T18:42:16.217 回答