有一个 PHP 数组包含数据库中的一个表,我需要按包含日期的字段对其进行排序。如何做到这一点?(我尝试了 array_multisort 但由于某种原因它给出了错误,也许问题出在我身上?)
$today = date("Y-m-d"); // Формат даты делаем такой же как и в базе данных
$query = "SELECT * FROM `Полина` WHERE date >='$today'";
有一个 PHP 数组包含数据库中的一个表,我需要按包含日期的字段对其进行排序。如何做到这一点?(我尝试了 array_multisort 但由于某种原因它给出了错误,也许问题出在我身上?)
$today = date("Y-m-d"); // Формат даты делаем такой же как и в базе данных
$query = "SELECT * FROM `Полина` WHERE date >='$today'";
您需要一个正常的排序,您可以在查询本身中使用
ORDER BY. 指定需要什么排序并附上代码。在查询中,如果查询具有访问权限,则排序。通过数据库服务器,这种排序也将比您编写的任何 php 代码快很多倍。
像这样的东西:
其中 table 是表的名称,pole1 是您要排序的任何字段。是的,我以非常简化的形式编写了请求。
标准的 PHP 函数只对一维数组进行排序(例如:
[5, 10, 15, 30, 2, 14, 33])。来自数据库的选择是一个多维数组,即类似于:使用 PHP 对多维数组进行排序不是一个好主意。首先,这是通过拐杖完成的,其次,对多维数组进行排序所花费的时间要高得多。
如上所述,直接在 SQL 查询中使用 ORDER BY 子句:
它可以处理日期、数字(包括 UNIX 时间)和字符串(按字母顺序排序)。
或者,您可以将此表达式与
ASC/结合使用DESC,以升序(ASC默认)或降序(DESC)对值进行排序:– 将返回按“registration_date”字段降序排序的用户列表(即最新的在前,最旧的在下面)。