PHP:按可用日期和可用时间排序

Posted

技术标签:

【中文标题】PHP:按可用日期和可用时间排序【英文标题】:PHP : Order By Available Day and Available time 【发布时间】:2021-04-19 12:39:48 【问题描述】:

我有一个表student_availability,其中有两个字段available_day 类型为varchar,available_time 类型也是varchar。

关于插入的表格数据如下:

我希望这些数据按available_day(例如:周日、周一、周二)和available_time 的顺序排列。 (例如:'07:00 - 08:00 AM'、'08:00 - 09:00 AM'、'09:00 - 10:00 AM'、'10:00 - 11:00 AM'、'11: 00 - 12:00 PM') 等

我尝试过简单的 sql 查询:

SELECT * 
FROM `student_availability`
ORDER BY `available_day` AND `available_time`


but its not giving accurate results.

php QUERY :

    Studentavailability::orderBy('available_day')->orderBy('available_time')->get();

 

【问题讨论】:

该查询甚至不应该运行。请检查您是否向我们展示了 REAL 语法 但它没有给出准确的结果 有点太笼统了!!它在生产什么?它产生了什么问题 看起来你正在使用一个框架,告诉我们(或标记)你正在使用的框架很有用 @RiggsFolly 感谢您的建议。我只想要我提到的结果,因为我无法对现有表进行任何修改。 最好将 avail_fromavail_to 都存储为 DATETIME 类型。然后,您可以获得您当前拥有的所有信息以及更多信息,并且排序会很容易 【参考方案1】:
SELECT * 
FROM `student_availability`
ORDER BY `available_day` **AND** `available_time`

这将在 available_day 之前订购并检查 (?) available_time 如果你想按 available_day 排序,在结果内部,也按 available_time 排序,你必须写:

SELECT * 
FROM `student_availability`
ORDER BY `available_day`, `available_time`

【讨论】:

谢谢里格斯! ;)

以上是关于PHP:按可用日期和可用时间排序的主要内容,如果未能解决你的问题,请参考以下文章

在php中每秒回显当前日期和时间以及磁盘上的可用空间

怎样按日期排序LIST集合

PHP/MySQL 中的预订日期可用性范围

MySQLi + PHP 按日期和 ID 降序排序

日期可用性检查器只工作一次

PHP 和 MySQL:按最近日期排序并限制 10