【问题标题】:Echo current number of row回显当前行数
【发布时间】:2010-06-26 19:14:32
【问题描述】:

我的 $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
}
?>

谢谢你:)

【问题讨论】:

    标签: php mysql


    【解决方案1】:

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

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

    【讨论】:

    • 问题是,如果我删除一行,那么 $_row['id'] 的计数就会出错,谢谢 :)
    【解决方案2】:

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

    $tmpCount = 1;
    while() {
    
       $tmpCount ++;
    }
    

    这对您有帮助吗?还是您期望来自数据库的物理行数?

    【讨论】:

      【解决方案3】:

      这可行,但是在排序时,数字被锁定并且不会返回到自然排序。初始排序将是 1、2、3,但是当单击要排序的列时,与第一个排序相关联的任何行都将保留,并且新排序不会按顺序排列 num_rows!

      【讨论】:

        猜你喜欢
        • 2023-03-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多