如何使用数据库中的数据来订购html表?

时间:2016-06-25 11:11:43

标签: php html mysql html-table

我对数据库中的html表和数据有疑问。

我设法创建了一个html表,它从mysql数据库中获取数据。到目前为止它工作正常。我在数据库中使用自动增量。

不幸的是,html表从上到下。因此第一个条目具有ID 1,而最后一个条目具有更高的数字。我想更改它,以便具有更高ID的条目显示在顶部。

没有Javascript或按钮,有没有可能做到这一点?我还没有找到解决方案。

2 个答案:

答案 0 :(得分:2)

是的,您可以在MySQL声明中执行此操作:

SELECT *
FROM table
ORDER BY ID DESC

这是您需要添加的最后一行。使用ORDER BY,您可以设置SELECT结果的显示顺序。订单可以是DESC(降序),或ASC(升序)。您可以在多个列上订购,由逗号分隔,然后首先对第一列进行排序,然后对第二列进行排序,等等。

答案 1 :(得分:2)

您可以使用ORDER BY更改列表,从较高的数字开始到较低的数字。

  

ORDER BY 关键字用于按一列或多列对结果集进行排序,如果您希望以降序(您的情况)将结果集按升序排序,则可以对结果集进行排序使用 DESC 关键字。

所以更新你的SQL查询如下。

SELECT *
FROM table_name
ORDER BY COLUMN_NAME_TO_SORT DESC

http://dev.mysql.com/doc/refman/5.7/en/order-by-optimization.html

您还可以使用 PHP usort()函数对从数据库中提取的结果集进行排序。

使用 usort()

按特定列对数组进行排序的示例代码
usort($finalarray, function($a, $b) {
    return $finalarray['COLUMN_NAME_TO_SORT'] - $finalarray['COLUMN_NAME_TO_SORT'];
});
// Assuming $finalarray is a result-set from database and it's an array.

参考:http://php.net/manual/en/function.usort.php

  直接在SQL中

ORDER BY 是首选,更好的选择是将结果排序更高   ID降低。