回显当前行数

3

我的$num_rows输出的是总行数,但我想要当前行号。

<?php
$result = mysql_query('SELECT * FROM texts ORDER BY id desc');
while($row = mysql_fetch_array($result)){
$num_rows = mysql_num_rows($result);
?>
<tr class="alt">
    <td><?php echo $row['id']; ?></td>
    <td><?php echo $row['title']; ?></td>
    <td><a href="<?php echo $row['orginal']; ?>">Original</a></td>
    <td><a href="#">@English</a></td>
    <td><a href="#"><?php echo $num_rows; ?></a></td>
</tr>
<?php
}
?>

谢谢 :)
3个回答

11

为什么不应该在 while 循环中使用增量变量来计算循环的轮数?

$tmpCount = 1;
while() {

   $tmpCount ++;
}
这对你有帮助吗?还是你期望从数据库中获得物理行号?

6

如果你只想对查询返回的行进行编号(而不是使用实际的ID - 可能是$row['id']),你可以在每一行中递增一个数字:

$num_rows = 0;

while ($row = mysql_fetch_array($result)){
  $num_rows++;
  // ...

问题在于,如果我删除一行,则使用 $_row['id'] 的计数将不正确。无论如何还是谢谢您 :) - Victor Bjelkholm

0

这个可以工作,但是在排序时,数字被锁定了,不会返回到自然排序。最初的排序将是1、2、3,但是当点击列进行排序时,与第一个排序相关联的任何行都将保持它,并且新的排序将无法按照num_rows顺序排列!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接