格式化表格的颜色


PHP Format colour of table?

我有一个表,代码有点像下面:

echo "<table class='lt show'>
      <tr class='h'>
      <td class='ltid' title='Position'>#</td>
      <td class='ltn' title='Name'>Name</td>";
$i = 0;
while ($i < $num){
    $pos = $i + 1;
    $name = mysql_result($result, $i, "name");
    $bgcolor = 'bgcolor="'.$color.'"';
    if ($pos <=  19) $color = "#FFF";
    echo "<tr $bgcolor class='even'><td class='ltid'>$pos</td>
          <td class='ltn'><a href='teams.php?id=$id'>$name</td>";

返回一个20行表,每行包含不同的位置和名称。我怎样才能将最下面的两行/20行设置为红色,以表明它们位于表格的底部?

注意MySQL函数已被弃用,转而支持PDO。

话虽这么说,你就是这么做的

$num= mysql_num_rows ($result);
while ($i < $num){
$pos = $i + 1;
$name = mysql_result($result, $i, "name");
$bgcolor = 'bgcolor="'.$color.'"';
if ($pos <  $result-2) $color = "#FFF";
echo "<tr $bgcolor class='even'><td class='ltid'>$pos</td>
      <td class='ltn'><a href='teams.php?id=$id'>$name</td>";
}

您可以使用mysql_num_rows()函数来计算结果集中的行数,然后从总数中减去2来确定将颜色设置为红色的循环索引:

http://php.net/manual/en/function.mysql-num-rows.php

请注意,这些函数已被弃用,但更倾向于mysql和PDO。我不确定这是否与你有关。

或者您可以直接执行SQL计数:

SELECT COUNT(1) FROM Table;

这将返回一个集合计数,选择是您的—如果不知道迭代的行总数,则无法确定将行颜色设置在哪个点。