1

我正在动态创建一个充满值的表...如果有办法在白色和浅灰色之间交替此表的行颜色,我会感到很痛苦。

这是我用来创建表的代码...

while($row = mysql_fetch_array($result))
  {
  echo "<tr>";
  echo "<td>" . $row['name'] . "</td>";
  echo "<td>" . $row['width'] . "</td>";
  echo "<td>" . $row['height'] . "</td>";
  echo "<td>" . $row['normal_fill'] . "</td>";
  echo "<td>" . $row['our_fill'] . "</td>";
  echo "<td>" . $row['old_price'] . "</td>";
  echo "<td>" . $row['price'] . "</td>";
  echo '<td><form method="post" action=""><input type="hidden" name="duckdown_id" value="'.$row['duckdown_id'].'" /><input type="submit" name="sumbit" value="Delete" /></form></td>';
  echo "</tr>";
  }
echo "</table>";
4

4 回答 4

4

添加一个增量变量并检查每 2 行:

$i = 1;
while($row = mysql_fetch_array($result)){
  $background = '#000';
  if($i%2 == 0){
      $background = '#00f';
  }
  $i++;
  echo "<tr style='background-color:".$background.";'>";

作为旁注,我看到您仍在使用函数,如果您刚刚开始,mysql_*您可以移至函数已弃用。这是一个很好的教程PDOmysql_*

于 2012-10-03T06:44:49.373 回答
3

我的方法非常类似于(并且基于)@Mihai Iorga's 将基于 css 类:

CSS:

gray { background-color: gray; }
red { background-color: red; }

PHP:

$i = 1;
while($row = mysql_fetch_array($result)){
  $background = 'gray';
  if($i%2) {
      $background = 'red';
  }
  $i++;
  echo "<tr class='$background'>";
}
于 2012-10-03T06:54:08.110 回答
0

如果你使用 CSS(来自 Mihai lorga 的代码)

PHP

$i = 1;
while($row = mysql_fetch_array($result)){
    if($i%2 == 0){
        echo "<tr class=even>";
    }else{
        echo "<tr class=odd>";
    }
    echo "<td>" . $row['name'] . "</td>";
    //etc.
    $i++;
}

CSS

<style type="text/css">
    .even{
        background-color:#00f;
    }
    .odd{
        background-color:#000;
    }
</style>
于 2012-10-03T07:01:14.877 回答
0

您可以使用如下简单的 jquery 代码,

   $(document).ready(function()
   {
      $('tbody tr:odd').addClass("row-odd");
      $('tbody tr:even').addClass("row-even");  
   });

并在样式表中定义“row-odd”和“row-even”类。

于 2012-10-03T07:14:19.040 回答