显示数据库中的最后一个、倒数第二个和倒数第三个值并按特定顺序显示

Display last, 2nd last and 3rd last value from a database and display in a specific order

假设我的数据库中有以下内容,已建立数据库连接:

一个用户表单,其中包含并输入带有提交按钮的输入产品,该按钮将插入到数据库中。

id 和产品,table 名为 table。充满了信息。

然后我 select 通过执行以下操作获取最后一个 ID:

           $results = mysqli_query($con, "SELECT * FROM table ORDER BY id DESC LIMIT 1");
           while($row = mysqli_fetch_array($results))
            
           {         
           $first_product = $row["product"]; 
           }

输出table中的最后一个id。

进度条

我想添加一个功能,当你点击提交时它会在进度条中显示产品的最后一个 ID,一旦我点击下一步,它就会显示最后一个 ID 加上第二个最后的 ID。

诀窍是,我希望第一个输出更改为倒数第二个 id,第二个输出更改为 table 中的最后一个 id,与再次单击下一步时相同,第一个输出更改为 table 中的倒数第三个 id,第二个输出更改为倒数第二个,第三个输出更改为 table

中的最后一个 id

例如

数据库将具有以下内容

点击提交:

输出:

Gibson 吉他(table 中的最后一个条目)

单击下一步

Gibson 吉他(table 中倒数第二个条目) 鼓(table 中的最后一个条目)

单击下一步

Gibson 吉他(table 中倒数第 3 个条目) 鼓(table 中倒数第二个条目) 低音(table 中的最后一个条目)

我知道如何使用 ORDER BY id DESC LIMIT 1,1 等调用 table 中的行。但是我不知道如何去做才能像上面那样显示。

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

我建议使用 ORDER BY id ASC

那么你要做的就是:

<?php 
                    
           $results = mysqli_query($con, "SELECT * FROM table ORDER BY id ASC LIMIT 1");
           while($row = mysqli_fetch_array($results))
            
           {
           $first_product = $row["product"]; 
           }
?>

<?php 
                    
           $results = mysqli_query($con, "SELECT * FROM table ORDER BY id ASC LIMIT 2");
           while($row = mysqli_fetch_array($results))
            
           {
           $second_product = $row["product"]; 
           }
?>


<?php 
                    
           $results = mysqli_query($con, "SELECT * FROM table ORDER BY id ASC LIMIT 3");
           while($row = mysqli_fetch_array($results))
            
           {
           $third_product = $row["product"]; 
           }
?>


<?php echo $first_product; ?>
<?php echo $second_product; ?>
<?php echo $third_product; ?>