更改while循环中最后两行的类

时间:2011-04-12 16:45:39

标签: php mysql while-loop

我有一个while循环,显示MySQL查询的结果。我知道如何更改最后一行或奇数行的输出但是如何更改最后两行的输出?

例如,我有一个带有border-bottom的2x2矩阵的结果列表:每个结果1px但是我想显示没有边框的底部两个?

3 个答案:

答案 0 :(得分:4)

如果你可以使用css3,那很容易(我会使用一个列表作为例子):

li:nth-last-child(-n+2)

选择最后两个li

如果你想在php中做,你可以计算结果数,在你的循环中添加一个计数器,并在最后两个项中添加一个类。

答案 1 :(得分:0)

我喜欢CSS方式,但您需要知道您列出的项目总数。然后你可以使用一个简单的条件来检查它。

$total_items = [count of items];
$cnt = 0;
while($fetch as $row) {
    ...
    if(++$cnt > ($total_items - 2)) {
        // list with no border
    } else {
        // list with border
    }
}

答案 2 :(得分:0)

是的,就这样做:

$result = //execute your query
$num_rows = mysql_num_rows($result;
$num_rows_different = 2;

$loop_counter = 0;
while ($loop_counter < $num_rows) {
   if ($loop_counter < $num_rows - $num_rows_different) {
      // with border
   } else {
      // no border
   }
   $loop_counter++;
}

由于支持不佳,我不会使用CSS3方法......