0

我有一个编码如下的表格:

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 为红色以表明它们位于表格的底部?

4

2 回答 2

1

注意 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>";
}
于 2013-01-03T03:42:41.763 回答
0

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

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

请注意,尽管支持 mysqli 和 PDO,但不推荐使用这些函数。不太确定这是否与您有关。

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

SELECT COUNT(1) FROM Table;

这将返回给您一个设定的计数,选择​​权在您手中 - 如果不知道被迭代的总行数,就无法确定设置行颜色的点。

于 2013-01-03T01:07:28.553 回答