从数据库反向排序一组基于DESC的记录

时间:2019-01-06 18:50:37

标签: php mysqli

我需要以DESC顺序选择记录,而该顺序已经基于我的代码完成了,然后我需要对相同的记录进行反向排序。我怎样才能做到这一点?我知道你们中有些人可能会说

没有意义或仅使用ASC,但出于个人原因,这样做对我来说确实有意义,因为我正在构建一个需要这种效果的应用程序,但是为了简单起见,我以这种方式在此处构建代码,以便您可以帮助我更轻松。

当前结果

36
35
30

所需结果

30
35
36

这是我的代码

<?php

$servername='localhost';
$username= 'jd';
$password= '1234';
$db_name= 'test';

$connect= new mysqli($servername,$username,$password,$db_name);

$query= "SELECT*FROM records ORDER BY id DESC LIMIT 3";

$result= $connect->query($query);

while($row= $result->fetch_assoc()){?>

<p><?php echo $row['id']; ?></p>

<?php } ?>

2 个答案:

答案 0 :(得分:3)

您在这里

<?php

$servername='localhost';
$username= 'jd';
$password= '1234';
$db_name= 'test';

$connect= new mysqli($servername,$username,$password,$db_name);

$query= "SELECT*FROM records ORDER BY id DESC LIMIT 3";

$result= $connect->query($query);

while($row = $result->fetch_assoc()){
    $items[] = $row;
}

$items = array_reverse($items ,true);

foreach($items as $item){ ?>

<p><?php echo $item['id']; ?></p> 

<?php } ?>

答案 1 :(得分:-1)

您必须编辑查询 $query= "SELECT * FROM records ORDER BY id ASC LIMIT 3"; 如果您可以在php代码上获得它,请以这种方式编辑第二部分

$result= $connect->query($query);
$rows= $result->fetch_all();
$rowsNumber=count($rows);
for($i=$rowsNumber;$i>0;$i--)
    echo '<p>'.$rows[$i].'</p>';