【问题标题】:How to display the serial number of the table rows in descending order in php?如何在php中以降序显示表格行的序号?
【发布时间】:2019-09-17 11:44:36
【问题描述】:

我正在寻找按降序对表的序列号进行排序的方法。我在这里使用了一个简单的 while 循环,里面有一个计数器变量。

代码示例:

       $i= 0;
       while(condition)
       {
           $i++; 
         echo "<td>".$i."</td>";
       }

输出:

我在这里没有使用自动增量列。我只想要一个简单的计数器,但按降序排列。

示例:

#
10
9
8
7
6
5
4
3
2
1

非常感谢任何帮助。

【问题讨论】:

  • 为什么不使用CSS counters?这应该是一个更可取的解决方案,而不是使用 PHP 生成数字

标签: php while-loop counter


【解决方案1】:

如果您已经有循环输出 1-10 版本,您可以简单地将输出更改为显示 11 减去当前计数...

echo "<td>".(11-$i)."</td>";

或者要更改整个代码,您可以从 11 开始,每次递减计数器并以这种方式输出

$i= 11;
while($i>0)
{
    $i--;
    echo "<td>".$i."</td>";
}

【讨论】:

  • 感谢您的作品!我从你的回答中得到了一个想法。
【解决方案2】:

先计数,后倒序循环

   $i= 0;
   while(condition)
   {
       $i++; 

   }
   for ( cnt= $i, $i>= 0, $i--){
         echo "<td>".$cnt."</td>";
   }

【讨论】:

    【解决方案3】:

    如果您从 MYSQL 数据库中获取数据并且您正在使用 PDO 连接到数据库

    //COUNT THE TOTAL NUMBER OF ROWS RETURNED
    $sql = "SELECT COUNT(*) FROM all_tnxs ORDER BY id DESC";
    $stmt = $con->query($sql);
    $stmt_num_rows = $stmt->fetch();
    $tot_rows = array_shift($stmt_num_rows);
    $sn = $tot_rows
    
    while(){
     $sn--;
     echo '<td>' . $sn . '</td>';
    }
    

    因此,无论您拥有多少行 - 从数据库中获取它都会使用 while 循环倒计时到“0”。 我一直在寻找这个,但后来我自己弄明白了,所以我决定把它放在这里给任何可能对它有帮助的人......

    【讨论】:

      猜你喜欢
      • 2020-12-26
      • 2019-04-07
      • 1970-01-01
      • 1970-01-01
      • 2014-10-26
      • 2018-09-15
      • 1970-01-01
      相关资源
      最近更新 更多