我有一个表,代码有点像下面:
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;
这将返回一个集合计数,选择是您的—如果不知道迭代的行总数,则无法确定将行颜色设置在哪个点。