动态表创建背景颜色

时间:2012-10-03 06:43:18

标签: php

我正在创建一个动态值的表...我想知道是否有办法在白色和浅灰色之间交替使用此表的行颜色。

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

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 个答案:

答案 0 :(得分: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_*个功能。如果您刚开始使用,则可以移至PDO,因为mysql_*函数已弃用。 Here is a nice tutorial

答案 1 :(得分:3)

我的方法非常类似于(基于)@Mihai Iorga将基于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'>";
}

答案 2 :(得分: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>

答案 3 :(得分:0)

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

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

在样式表中定义'row-odd'和'row-even'类。