使用 php 对 table 行数据进行排序

sorting table row data with php

<table class="tbmed">     
 <tr> 
  <th>R1</th> 
  <th>R2</th>
  <th>R3</th>
  <th>R4</th>
 </tr>


<?php
include ("config.php");
$sql = "SELECT id, r1, r2, r3, r4  FROM table order by id DESC ";         
  
$result = $conn->query($sql);

if ($result->num_rows > 0) {
 
    while($row = $result->fetch_assoc()) 
    {
        echo "<tr><td>". 
        $row["r1"]. "</td><td>".
        $row["r2"]. "</td><td>". 
        $row["r3"]. "</td><td>". 
        $row["r4"].'  
        "</td></tr>";
    }
    echo "</table>";
} else {
    echo "0 results"; 
}
$conn->close();

?>     

我有一些数值数据都是正数,但可能有重复值。 上面的代码给出了这样的结果:

R1 R2 R3 R4 
10 2  5  5
4  4  1  9
....

我想对数据 table 的每一行的输出进行排序,结果将是:

R1 R2 R3 R4 
2  5  5  10
1  4  4  9

我怎样才能做到这一点?有人可以帮我吗?

您可以使用 fetch_array 代替 fetch_assoc 并在输出前应用 sort 函数。有点像下一个:

if ($result->num_rows > 0) {
    while($row = $result->fetch_array(MYSQLI_NUM)) 
    {
        sort($row);
        echo '<td>';
        echo implode('</td><td>', $row);
        echo '</td>' . PHP_EOL;
    }
}

Try code online