Php 按添加的时间对mysql行进行编号,然后在保留编号的同时进行排序

Php 按添加的时间对mysql行进行编号,然后在保留编号的同时进行排序,php,mysql,Php,Mysql,是否可以使用php对mysql中的行进行编号?所以不像自动递增,而是某种类型的代码?我可以做num_行,但它会根据数据在表中的排序方式显示数字。。。但我希望数据按大小排序,例如,但编号从1-最旧到X-最新 实际上我想手动给出行数。。。例如,id为10的所有输入都应该从1-10等编号,因为我根据id输出数据 我尝试了一个数字的自动递增,但由于所有数据都写在同一个表中,所以数字不是从1开始的,而是从它停止的位置开始删除之前的行。。。我需要在一页上做的每个输出都从1-X开始编号 总之,我只想创建一个计

是否可以使用php对mysql中的行进行编号?所以不像自动递增,而是某种类型的代码?我可以做num_行,但它会根据数据在表中的排序方式显示数字。。。但我希望数据按大小排序,例如,但编号从1-最旧到X-最新

实际上我想手动给出行数。。。例如,id为10的所有输入都应该从1-10等编号,因为我根据id输出数据

我尝试了一个数字的自动递增,但由于所有数据都写在同一个表中,所以数字不是从1开始的,而是从它停止的位置开始删除之前的行。。。我需要在一页上做的每个输出都从1-X开始编号

总之,我只想创建一个计数器来模拟表中的有序列表,但每个输出都应该编号,然后按大小排序:

我模拟了它应该是什么样子:


您可以尝试以下方法:

从数据库中选择按日期从最早到最新排序的行

使用 获取所有结果行的步骤

保留相对行号

使用 按大小分类。例3特别有趣

此示例演示了这一思想,其中$rows表示fetch_all的结果集:


然后将while循环更改为foreach$rows as$row,您应该可以获得所需的结果

你忘了开头的标签。@Blallo谢谢,我会解决它的,但是你知道我怎么解决这个问题吗?按日期向行中添加数字?
if(!empty($_GET["orderby"])) {
    $orderBy = $_GET["orderby"];
}
if(!empty($_GET["order"])) {
    $order = $_GET["order"];
}
$randomNum = substr(str_shuffle("0123456789"), 0, 4);
$conn = mysqli_connect("localhost", "owjej_david", "dadadada", "owjej_kalkulator");
  // Check connection
  if ($conn->connect_error) {
   die("Connection failed: " . $conn->connect_error);
  } 
  $sql = "SELECT dolzina, sirina, kolicina,  opombe, povrsina, id, narocilo, cas FROM zunanje where id='$id' ORDER BY " . $orderBy . " " . $order;", cas asc";
  $result = $conn->query($sql);
  if ($result->num_rows > 0) {
          $rowNumber=0;
   // output data of each row
   while($row = $result->fetch_assoc()) {
           $rowNumber++;
    echo "<tr><td>" . 
    $rowNumber. "</td><td>" .
    $row["dolzina"] ." cm".'<a href="uredizunanjo.php?id=' . $row['id'] . '&uredi=dolzina&narocilo='. $row['narocilo'] . '&value='.$row['dolzina'].'"> &#9998;</a>'. "</td><td>" .
    $row["sirina"]." cm".'<a href="uredizunanjo.php?id=' . $row['id'] . '&uredi=sirina&narocilo='. $row['narocilo']  . '&value='.$row['sirina'].'"> &#9998;</a>'. "</td><td>" .
    $row["kolicina"].'<a href="uredizunanjo.php?id=' . $row['id'] . '&uredi=kolicina&narocilo='. $row['narocilo']  . '&value='.$row['kolicina'].'"> &#9998;</a>'. "</td><td>" .
    $row["opombe"].'<a href="uredizunanjo.php?id=' . $row['id'] . '&uredi=opombe&narocilo='. $row['narocilo']  . '&value='.$row['opombe'].'"> &#9998;</a>'. "</td><td>" .
    $row["povrsina"]." m&#xb2;".'<a href="updatepovrsina.php?id=' . $row['id'] . '&uredi=povrsina&narocilo='. $row['narocilo']  . '&value='.$row['povrsina'].'"> &#9998;</a>'. "</td><td>" .'
    <a href="izbrisizunanjo.php?id=' . $row['id'].'&narocilo='. $row['narocilo'].'">X</a>'."</td></tr>";}
echo "</table>";
} 
$conn->close();
?>
$rows = [['id'=>10,'size'=>10],
['id'=>10,'size'=>1],
['id'=>10,'size'=>7],
['id'=>10,'size'=>5],
['id'=>10,'size'=>2],
];
print_r($rows);  

for ($i=0;$i<count($rows);$i++) { // This loop preserves the relative row number
    $rows[$i]['rowid'] = $i + 1;
}  

$size = array_column($rows,'size');
array_multisort($size,$rows);
print_r($rows);